This is a blog.

자바 기록 9일차 본문

JAVA/Book Summary

자바 기록 9일차

Calcot 2021. 6. 9. 20:45

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

chapter07 상속 정리-2.

 

 

상속-2

 

 

타입 변환과 다형성

다형성 : 사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행결과가 나오도록 하는 성질.

 

자동 타입 변환

부모타입 변수 = 자식타입;

부모타입으로 자동 타입 변환된 이후에는 부모 클래스에 선언된 필드와 메소드에만 접근이 가능하다.

메소드가 자식 클래스에서 재정의 된 경우에는 자식 클래스의 메소드가 호출 된다.

 

 

필드의 다형성

자식 클래스는 메소드 재정의를 통해 더 우수한 실행결과가 나오게 할 수도 있다.

자식 타입을 부모 타입으로 변환할 수 있다. p.339

 

매개 변수의 다형성

매개값을 다양화하기 위해 매개 변수에 자식 개체를 지정할 수도 있다.

매개 변수의 타입이 클래스일 경우, 해당 클래스의 객체뿐만 아니라 자식 객체까지도 매개값으로 사용할 수 있다.

=> 매개값으로 어떤 자식 개체가 들어오느냐에 따라 메소드의 실행결과는 달라짐.

=> 자식 객체가 부모의 메소드를 재정의했을 경우도 실행결과는 다양해진다.

 

 

강제 타입 변환

부모 타입을 자식 타입으로 변환하는 것.

자식타입 변수 = (자식타입) 부모타입;

 

 

객체 타입 확인

강제 타입 변환은 자식 타입이 부모 타입으로 변환되어 있는 상태에서만 가능.

instanceof 연산자

- 부모 변수가 참조하는 객체가 부모 객체인지 자식 객체인지 확인할 때 사용.

- 좌항(객체) instanceof 우항(타입)

- 주로 매개값의 타입을 조사할 때 사용.

타입을 확인하지 않고 강제 타입 변환을 시도하면 ClassCastException이 발생할 수도 있다.

 

 

추상 클래스

클래스들의 공통된 부분을 추출해서 선언한 클래스.

추상클래스를 부모로 하여 실체 클래스(자식 클래스)는 추상 클래스의 필드와 메소드를 물려받고 추가적인 특성을 가질 수 있다.

 

 

추상 클래스의 용도

공통된 필드와 메소드의 이름을 통일할 목적

실체 클래스를 작성할 때 시간 절약

 

 

추상 클래스 선언

public abstract class 클래스 {

//필드

//생성자

//메소드

}

new 연산자로 직접 생성자를 호출할 수 없다.

super()를 호출해서 추상 클래스 객체를 생성.

 

 

추상 메소드와 재정의

- [public | protected] abstrcat 리턴타입 메소드이름( 매개변수, ... )

자식 클래스는 바느시 추상 메소드를 재정의해서 실행 내용을 작성.

 

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

자바 기록 11일차  (0) 2021.06.14
자바 기록 10일차  (0) 2021.06.10
자바 기록 8일차  (0) 2021.06.08
자바 기록 7일차  (0) 2021.06.07
자바 기록 6일차  (0) 2021.06.05
Comments