JAVA/교재

JAVA 10- 상속

record2080 2025. 1. 17. 23:47

01. 상속

02. 상속에서의 생성자

03. 오버라이딩

04. 접근 제한자

05. 2차 상속

06. final클래스와 final메서드

 

<상속>
부모 역할 을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것

-부모클래스, 상위클래스,기반 클래스
-자식 클래스, 하위클래스, 파생 클래스

 

<상속에서의 생성자>
상속 관계에서 부모클래스의 생성자와 자식클래스의 생성자는 어떻게 사용해야 할까?
특별한 역할을 하지 않는 기본생성자는 비어있다
자식클래스의 기본생성자는 super()라는 메서드를 가지고 있다.

Comic() {
           super();
}
부모클래스(매개변수1,매개변수2,...) {
this.필드1=매개변수1;
this.필드2=매개변수2;
}

만약, 부모클래스의 생성자가 호출될 때 매개변수로 값을 전달받아 부모 클래스의 필드드을 초기화 하도록 구현되었다면,

자식 클래스(매개변수1, 매개변수2,...) {
          Super(매개변수1, 매개변수2,...);
}

 

<오버라이딩>

상속받은 메서드를 변경해서 다시 구현하는 것

-부모클래스의 메서드 이름,반환 타입, 매개변수와 동일해야 한다

-부모 클래스의 메서드보다 접근제한을 줄일 수는 있으나 접근 제한을 틀릴 수는 없다.

 

<접근 제한자>

제한자란, 클래스 변수 메서드의 선언부에 함께 사용해 부가적인 의미를 부여하는 키워드

자바에서 제한자는 접근 제한자와 기타 제한자로 구분한다

-public : 제한없이 모든 패키지, 모든클래스에서 접근 가능함
-protected : 같은 패키지 안에서 접근 가능하며, 다른 패키지라도 자식 클래스라면 접근 가능
-default : 같은 패키지 내에서만 접근 가능
-private : 같은 클래스 내에서만 접근 가능함

 

<2차 상속>

A클래스<< B클래스 extends A클래스<< C클래스 extends B클래스...

2차,3차 ,,,n차까지 원하는 만큼 상속을 받을 수 있다.

 

<final 클래스와 final 메서드>

final 키워드 : 상수를 뜻함

final class : 상속의 마지막 클래스

                   어떠한 클래스도 이 클래스의 자식 클래스가 될 수 없고, 이 클래스는 어떤 클래스의 부모 클래스가 될 수도 없                      다.

 

final mathod: 메서드는 상속받더라도, 오버라이딩 할 수 없는 메서드

 

주의 ) 생성자에는 final을 추가할 수 없다.

접근 제한자만 추가할 수 있다

'JAVA > 교재' 카테고리의 다른 글

JAVA 12- 추상 클래스와 인터페이스  (0) 2025.01.18
JAVA 11- 다형성과 타입 변환  (0) 2025.01.17
JAVA 09- 생성자  (0) 2025.01.15
JAVA 08- 메서드  (0) 2025.01.14
JAVA 07- 클래스  (0) 2025.01.07