자바공부하기 79

 

다형성(polymorphism)이란 ?

 


- 다양한 형태의 성질

 

- 다형성의 개념이 적용되는 곳

: 상속(Inheritance)

: 중복정의(Overloading)

: 재정의(Overriding)

: UPcasting

: Abstract의 상속과 Interface의 구현

 

- 동적 메소드 바인딩에 기반

: 동적 메소드 바인딩에는 어떤 메소드를 호출할 지 컴파일 시 지정하지 않고 실행시에 동적으로 결정된다.

: 코드에는 호출할 주소가 아닌, 어떤 메소드를 호출해야 하는지 전체 이름이 적혀있다.

: JVM은 이걸보고 객체 계층을 뒤져 적절한 메소드를 호출한다.

: 그러므로 어느 객체의 어느 메소드가 호출될 지 컴파일 시에는 알 수 없다.

: 컴파일러는 컴파일 시 단지 타입 정보에만 의존하여 에러 체킹을 한다.

 

 

 

+ Recent posts