033_다형성과 동적 바인딩

Dec 26, 2023
033_다형성과 동적 바인딩

다형성

  • 하나의 타입에 여러 객체를 대입해 다양한 기능을 이용하는 것이다. → new 자식(); 을 할때 앞에 타입을 부모와 자식을 동시에 사용 할 수 있다.
  • 부모 클래스 타입의 참조 변수로 자식 객체를 다루는 것이 가능하다.

동적 바인딩

  • 오버라이드된 메소드 호출이 컴파일 시간이 아닌 실행 시간에 결정되는 메커니즘을 의미한다.
  • 상속 관계에선 오버라이딩 된 부모의 메서드를 무효화 하고 자식의 메서드를 호출한다. → 상속 관계에서 메서드 오버라이딩이 가능하게 하는 기능이다.
  • 프로그램 실행 중에 어떤 메서드를 호출할 것인지 결정한다.
동적 바인딩의 장점!! → 다형성을 사용하면 시스템에 최소한의 영향을 미치면서 새로운 유형의 객체를 쉽게 추가하여 시스템을 확장할 수 있다.
동적 바인딩으로 인해서 변수의 타입만 보고는 변수가 가리키는 실제 타입을 보기위해서는! instanceof 연산자를 사용하자! ex) if(obj instanceof Rectangle) { … } → 맞으면 true를 반환한다.

Share article
RSSPowered by inblog