상속으로도 다형성을 구현할수있긴 하지만, 그렇게 하는사람 거의없음.
다형성은 보통 상속보단 컴포지션으로 구현해.
어떤느낌이냐면, dog라는 인터페이스로 구현한 치와와가 있어. 그자리에 치와와대신에 푸들로 교체해도 정상작동함. 왜냐면 인터페이스가 그대로니까.
익명(14.137)2023-04-06 18:02
답글
현업에서 상속은 진짜 c++ 아니면 거의 안쓴다고 봐도 무방해.
익명(14.137)2023-04-06 18:02
답글
오 상속잘안쓰나요? 인터페이스 구현만쓰나연 - dc App
익명(122.35)2023-04-06 18:09
답글
뭔 개소리지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
현업에서 다형성을 안쓴다고? ㅋㅋ
스프링에서만 봐도 config에 리파지토리 빈으로 갈아끼우는거 ㅈㄴ많고 스프링 라이브러리도 다 다형성인데 거의 안쓴다라 ㅋㅋ - dc App
익명(1.211)2023-05-10 15:03
답글
아 상속이네 미안 ㅈㅅ 인터페이스인줄 - dc App
익명(1.211)2023-05-10 15:03
간단하게 리스트를 예로 들어 ArrayList list = new ArrayList로 선언했다고 치면 list = (LinkedList) list 는 못함
근데 List list = new ArrayList로 했으면 가능
익명(106.72)2023-04-06 18:07
Dog dog = new Dog(); 이렇게 구현해서 이후 코드에 dog참조변수로 접근하는 코드를 모두 작성해놨는데 누가 Mongkey로 바꿔달라는거야 그래서 Dog안에 구현한 코드를 모두 원숭이스타일로 바꾸려는데 Dog는 나중에 다시 쓸지도 모르느 그대로 두라고하더라고 이러면 어쩌지?
익명(59.26)2023-04-06 18:14
답글
고맙다 Animal animal = new monkey(); 로 바꿔버리도 Animal 상속,구현한 메서드만 사용하기에 다른걸 안건들여도 된다 이말이죠? 쉽게 바꿀수있다 이런거맞지?
ㅇㅇㅇㅇ(122.35)2023-04-07 22:26
답글
다형성을 여기 몇줄의 문장으로 다 표현은 어렵겠지만 너가 질문한 내용에 대한것으로선 그렇지.
익명(59.26)2023-04-08 14:28
답글
헌데 비지니스로직 개발하다보면 다형성을 어디에든 항상 적용한다기 보다 어울릴만한 구간을 발견하고 그럴만한 부분에 적용하는것이 중요하다 생각해. 그리고 그런부분이 어떤부분인지는 코딩하다 본인이 적용해보면서 본인이 정말 이렇게 작성하니 코드가 유연해지고 다음에 로직을 변경해야하거나 할때 확실히 변경에 좀 부담이 없는 가독성이 확보되고 그로인해 변경도 좀 부담이 덜되는구나 하는것들을 직접 느끼게 될꺼아.
상속으로도 다형성을 구현할수있긴 하지만, 그렇게 하는사람 거의없음. 다형성은 보통 상속보단 컴포지션으로 구현해. 어떤느낌이냐면, dog라는 인터페이스로 구현한 치와와가 있어. 그자리에 치와와대신에 푸들로 교체해도 정상작동함. 왜냐면 인터페이스가 그대로니까.
현업에서 상속은 진짜 c++ 아니면 거의 안쓴다고 봐도 무방해.
오 상속잘안쓰나요? 인터페이스 구현만쓰나연 - dc App
뭔 개소리지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 현업에서 다형성을 안쓴다고? ㅋㅋ 스프링에서만 봐도 config에 리파지토리 빈으로 갈아끼우는거 ㅈㄴ많고 스프링 라이브러리도 다 다형성인데 거의 안쓴다라 ㅋㅋ - dc App
아 상속이네 미안 ㅈㅅ 인터페이스인줄 - dc App
간단하게 리스트를 예로 들어 ArrayList list = new ArrayList로 선언했다고 치면 list = (LinkedList) list 는 못함 근데 List list = new ArrayList로 했으면 가능
Dog dog = new Dog(); 이렇게 구현해서 이후 코드에 dog참조변수로 접근하는 코드를 모두 작성해놨는데 누가 Mongkey로 바꿔달라는거야 그래서 Dog안에 구현한 코드를 모두 원숭이스타일로 바꾸려는데 Dog는 나중에 다시 쓸지도 모르느 그대로 두라고하더라고 이러면 어쩌지?
고맙다 Animal animal = new monkey(); 로 바꿔버리도 Animal 상속,구현한 메서드만 사용하기에 다른걸 안건들여도 된다 이말이죠? 쉽게 바꿀수있다 이런거맞지?
다형성을 여기 몇줄의 문장으로 다 표현은 어렵겠지만 너가 질문한 내용에 대한것으로선 그렇지.
헌데 비지니스로직 개발하다보면 다형성을 어디에든 항상 적용한다기 보다 어울릴만한 구간을 발견하고 그럴만한 부분에 적용하는것이 중요하다 생각해. 그리고 그런부분이 어떤부분인지는 코딩하다 본인이 적용해보면서 본인이 정말 이렇게 작성하니 코드가 유연해지고 다음에 로직을 변경해야하거나 할때 확실히 변경에 좀 부담이 없는 가독성이 확보되고 그로인해 변경도 좀 부담이 덜되는구나 하는것들을 직접 느끼게 될꺼아.