what?
객체지향 개념에서 다형성은 한 가지 타입이 여러 형태의 인스턴스를 가질 수 있다는 뜻으로, 객체지향언어의 중요한 특징 중 하나
부모타입 변수에 모든 자식 인스턴스가 대입될 수 있음
why?
코드의 유연성과 확장성을 위해 사용
인터페이스에서 사용될 경우, 클라이언트가 객체의 구체적인 타입이 아니라 인터페이스에 의존하게 된다. 그 결과 구현 코드가 변경되어도 클라이언트 코드는 그에 영향받지 않고 객체와 상호 작용할 수 있다. 또한 새로운 클래스가 추가되었을 경우, 새 클래스가 상위 클래스의 인터페이스를 구현하거나 상속받는다면 코드 변경 없이 새 클래스를 사용할 수 있게 된다.
how?
Parents 클래스와 Parents 클래스를 상속하는 Child 클래스가 있을 때
Parents example = new Child();
1)Parents에 있는 멤버는 example에서 호출 가능
Child에서 해당 메서드가 오버라딩되었다면 오버라이딩된 내용대로 실행
2)Parents에 없고 Child에만 있는 멤버는 example에서 사용 불가
'Java' 카테고리의 다른 글
[Java] 인터페이스 (0) | 2024.03.31 |
---|---|
[Java] 추상 메서드와 추상 클래스 (0) | 2024.03.31 |
[Java] 상속과 다형성⑤ 제어자 (0) | 2024.03.30 |
[Java] 상속과 다형성④ 패키지와 임포트 (0) | 2024.03.30 |
[Java] 상속과 다형성③ 생성자 (0) | 2024.03.29 |