자바 다형성 엄청 간단한건데
인터넷에 검색을 해서 찾아보면
아니 진짜 쉬운걸 다들 어렵게 설명을 해서 봐도 잘 모르겠다
그래서 검색은 무조건 영어로 하는 것이 짱인데
세상은 넓고 고수들은 다 외국에 있기 때문에
고수들이 영어로 요약한게 더 알아보기 쉽기 때문이다
일단 다형성 정의부터 알아보자
Polymorphism is one of the OOPs feature that allows us to perform a single action in different ways.
비겁하게 번역기를 사용해서 번역을 해 보면
다형성은 하나의 행동을 여러 방식으로 할 수 있게 해 주는 것인데
그림으로 한번 확인해보자
동일한 메소드를 사용했는데
늑대 개체와 다람쥐 개체에서 다른 출력값이 나오네?
이거 어디서 많이 봤을텐데
바로 오버라이드다!!!
(오버라이드를 모르면 해당 링크 참조..)
https://flatsun.tistory.com/50
오버라이드란 부모 클래스에서 상속 받은 메소드를
자식 클래스가 맘대로 바꾼 뒤 사용하는 것으로
각각 늑대와 다람쥐에 맞게 오버라이드를 해서
동일한 Communicate() 메소드 인데도 다른 결과가 나오는 것이다
다형성의 다른 예를 한번 알아보자
어 이거 오버로딩 아닌가?
(오버로딩을 모르면 해당 링크 참조..)
https://flatsun.tistory.com/52
맞다!
근데 다형성이 뭔가
하나의 행동을 여러 방식으로 하는 것!
동일한 메소드를 오버로드하여 여러 파라미터가 들어가도 사용할 수 있게 정의한 것 또한
다형성의 사례에 해당되는 것이다
여기서 간단하게 끝내기 위해 빨리 마무리를 짓자면
다형성은 뭐다?
하나의 행동을 여러 방식으로 하는 것!
다형성의 예는 뭐다?
오버라이드, 오버로딩!
( 하나의 행동을 여러 방식으로 한다.. )
'IT > Java' 카테고리의 다른 글
카멜 케이스(Camel case) 표기법 알아보기 (0) | 2019.03.14 |
---|---|
자바 오버라이딩, 오버로딩 사진 하나로 구분하기 (0) | 2019.02.21 |
자바 추상(Abstract) 클래스와 인터페이스(interface) 차이 (0) | 2019.02.19 |
자바 인터페이스(interface)란 무엇인가? (0) | 2019.02.19 |
자바 추상 클래스, 추상 메서드란 무엇인가 (0) | 2019.02.18 |
댓글