This is a blog.

자바 기록 8일차 본문

JAVA/Book Summary

자바 기록 8일차

Calcot 2021. 6. 8. 20:56

혼자 공부하는 자바 / 저자: 신용권

chapter07 상속 정리-1.

 

 

상속

 

 

클래스 상속

 

class 자식클래스 extends 부모클래스 {

//필드

//생성자

//메소드

}

여러 개의 부모 클래스를 상속 할 수 없다.

부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외.

부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메소드도 상속 대상에서 제외.

 

 

부모 생성자 호출

자식 객체를 생성하면, 부모 객체가 먼저 생성되고 그 다음에 자식 객체가 생성된다.

super();

- 부모의 기본 생성자를 호출.

자식클래스( 매개변수선언,...) {

super( 매개값,...)

}

=> 직접 자식 생성자를 선언하고 명시적으로 부모 생성자를 호출하고 싶을 때 선언.

=> super( 매개값, ...)은 매개값과 일치하는 부모 생성자를 호출. 생략되면 컴파일러에

의해 super()가 자동적으로 추가 -> 부모의 기본 생성자가 존재해야 한다.

=> 매개변수가 있는 부모 생성자만 존재한다면 자식 생성자에서 명시적으로 호출해야 한다.

-> 자식 생성자에서 super(매개값,...)을 호출하고 반드시 자식 생성자 첫 줄에 위치해야

한다.

 

 

메소드 재정의

자식 클래스에서 상속된 일부 메소드를 수정해서 이용.

 

메소드 재정의 방법

부모 메소드와 동일한 리턴타입, 메소드 이름, 매개 변수 목록을 가져와야 한다.

접근 제한을 더 강하게 재정의 할 수 없다.

새로운 예외를 throws할 수 없다.

재정의된 메소드는 자식 객체에서 메소드를 호출할 때 재정의된 자식 메소드가 호출된다.

 

부모 메소드 호출

자식 클래스 내부에서 재정의된 부모 메소드를 호출하는 방법.

super.부모메소드();

 

 

final 클래스와 final 메소드

 

상속할 수 없는 final 메소드

public final class 클래스 { ... } => 상속할 수 없는 클래스.

 

재정의할 수 없는 final 메소드

public final 리턴타입 메소드 ( [매개변수,...] ) { ... } => 재정의할 수 없는 메소드.

 

 

 

'JAVA > Book Summary' 카테고리의 다른 글

자바 기록 10일차  (0) 2021.06.10
자바 기록 9일차  (0) 2021.06.09
자바 기록 7일차  (0) 2021.06.07
자바 기록 6일차  (0) 2021.06.05
자바 기록 5일차  (0) 2021.06.03
Comments