인프런 Java TPC 파트 2 정리

Kyu·2021년 1월 23일
0

Java 공부기록

목록 보기
22/40

객체지향 프로그래밍의 3대 특징

  1. 정보은닉 (Information Hiding)
  2. 상속 (Inheritance)
  3. 다형성 (Polymorphism)

message polyporphism (다형성)

상속관계에 있는 클래스에서 상위클래스가 동일한 메시지로 하위클래스들을 서로 다르게 동작시키는 객체지향 원리(개념)

다형성 이론의 전제조건

  1. 상속관계가 되어야 한다.
  2. 객체생성을 upcasting으로 할 것(상위클래스가 하위클래스에게 메세지를 보내야 하므로)
    (upcasting이 되면 downcasting을 할 수있다)
  3. 하위클래스가 반드시 재정의(Override)해야 한다. (다형성이 보장되기 위해서는)
  4. 동적 바인딩을 통해 실현된다. 재정의 오버라이딩 Overriding
    (동적 바인딩: 실행지점에서 사용될 메서드가 결정되는 바인딩, 프로그램의 속도를 떨어뜨리는 원인이 된다.)

추상클래스와 인터페이스의 공통점

  1. 다형성을 보장하기위해서 등장
  2. 객체를 생성 할 수 없다. (new X)
  3. 하위클래스에 의해 구현되어야 한다. (override: 재정의 필수)
  4. 부모 (삼위클래스)의 역할로 사용한다. (upcasting으로 객체를 생성)
  5. 추상 메서들르 가진다
profile
TIL 남기는 공간입니다

0개의 댓글