자바 Day 11

Hyunsu·2023년 4월 1일
0

Today I Learned

목록 보기
11/37
post-thumbnail

📝 목차

Chapter 07 상속


Chapter 07 상속

부모 생성자 호출

모든 객체는 생성자가 호출되어야 객체를 생성할 수 있다.
자식 객체 생성 시 부모 객체가 먼저 생성되고 자식 객체가 생성된다.

클래스는 기본 생성자가 자동으로 추가되지만 매개변수 생성자가 존재한다면 자동으로 생성되지 않는다.

Protected 접근 제어자

같은 패키지 또는 자식 객체만 사용 가능하다.

public void method2 { // class D extends A
	A a = new A(); // 에러
    a.field = "values"; // 에러
    a.method(); // 에러
}

다형성

사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질이다.

  • 업캐스팅 : 부모 타입으로 자동 형변환
  • 다운캐스팅 : 자식 타입으로 강제 형변환
  • 동적바인딩 : 오버라이딩 되었다면 부모 대신 자식 객체의 메서드 호출
Animal animal = new Person(); // 업캐스팅
animal.breath(); // 동적바인딩

배열을 활용한 예시는 다음과 같다.

Animal[] animals = new Animal[3];
animals[0] = new Dog();
animals[1] = new Cat();
animals[2] = new Bird();

for (Animal animal : animals) {
	animal.makeSound();
}

추상 클래스

공통적인 필드나 메서드를 추출해서 선언한 미완성 설계도이다.

class abstract class Animal {
	abstract void sound();
}

Reference

profile
현수의 개발 저장소

0개의 댓글