본문 바로가기

자바☕

Dynamic Dispatch : 다형성의 일부

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