[JAVA]

Polymorphism

지기음 2023. 1. 21. 15:13

다향성이란 ?

  • 하나의 객체가 많은 형을 가질 수 있는 성질 
  • 상속 관계에 있을 때 조상 클래스의 타입으로 자식 클래스 객체를 레퍼런스 할 수 있다.
  • 조상 타입으로 자식객체 받기 가능 ( 교수님 피셜....:부자되세요!!!)

작은 집에서 큰 집 -> 묵시적 캐스팅 

큰 집에서 작은 집 -> 명시적 캐스팅(생략 불가)

 

정적 바인딩 

  • 컴파일 단계에서 참조 변수의 타입에 따라 연결이 달라짐
  • 상속 관계에서 객체의 멤버 변수가 중복 될 때 또는 static method

 

동적 바인딩

  • 다형성을 이용하여 메서드 호출이 발생할 때 런타임에 메모리의 실제 객체의 타입으로 결정
  • 상속 관계에서 객체의 메소드가 재정의 되었을 때 마지막에 재정의된 자식 클래스의 메서드가 호출됨

JAVA API처럼 공통 기능인 경우 OBJECT를 파라미터로 쓰겠지만 많은 경우 비즈니스 로직 상 최상위 객체 사용을 권장

 

 

'[JAVA]' 카테고리의 다른 글

추상 클래스 (abstract , interface)  (0) 2023.01.21
Inheritance + @  (0) 2023.01.21
Abstraction + @ (추상화와 그 외의 중요한 것들)  (0) 2023.01.17
NullPointerException  (0) 2022.12.22
discord로 IntelliJ하는거 티내는 방법  (0) 2022.12.21