240726 내일배움캠프 백엔드 Java 6기 TIL : Java문법 종합반 4일차 : 상속

박대현·2024년 7월 26일
0

1. super vs super()

  • super : 부모 클래스의 멤버에 저장
  • super() : 부모 클래스의 생성자를 가져옴. 가장 첫줄에 써야함.

2. 다형성

A. 자동 타입 변환

  • '부모타입 변수 = 자식타입 객체'는 자동 형변환이 일어남
    • 이때 부모타입 클래스로 판단되어, 자식 메소드는 못씀

B. 강제 타입 변환

  • 자동 타입 변환이 일어난 상태에서, '자식타입 변수 = 자식타입 객체'로 변환시켜줄 수 있음

C. 다형성 확보하기

  • 자동타입변환을 이용하여 확보할 수 있다.
  • '부모타입 변수 = 자식타입 객체'의 예
Tire tire = new HankookTire("HANKOOK");
Tire tire = new KiaTire("KIA");
  • 매개변수에도 적용 가능
public Car(Tire tire) {
    this.tire = tire;
}

...

Car car1 = new Car(new KiaTire("KIA"));
Car car2 = new Car(new HankookTire("HANKOOK"));
  • 반환타입에도 적용가능
Tire getHankookTire() {
    return new HankookTire("HANKOOK");
}

Tire getKiaTire() {
    return new KiaTire("KIA");
}

...

Tire hankookTire = car1.getHankookTire();
KiaTire kiaTire = (KiaTire) car2.getKiaTire();

0개의 댓글