728x90
자바는 프로모션으로 업캐스팅된 객체의 메소드를 런타임 시점에서 오버라이딩된 메소드에 대한 호출이 확인된다.
-> 프로그램을 실행할 때 형변환된(오버라이딩된, 업캐스팅한) 객체의 메소드를 호출한다
-> 인터페이스를 타입으로 선언한 클래스의 생성자를 호출했더니, 그 클래스에 있는 오버라이딩된 메서드가 실행된다.
Service service = new DefaultService();
DefaultService serviceExtend = new DefaultServiceExtend();
Service serviceExtend = new DefaultServiceExtend();
// 컴파일 시점에서, Service 타입을 선언한 serviceExtend는 Service 인터페이스의 메서드만 접근 가능.
왜 다형성인가?
언제 사용할까요?
728x90
'자바☕' 카테고리의 다른 글
Lombok (0) | 2022.12.06 |
---|---|
자바 표준 Annotation (0) | 2022.12.06 |
다형성(Polymorphism)과 오버라이딩(Overriding) (0) | 2022.12.01 |
12. 01 심화 강의 : 인터페이스 (0) | 2022.12.01 |
Immutable vs Mutable (0) | 2022.12.01 |