재밌고 어려운 IT를 이해해보자~!

Section 10. 상속 본문

JAVA Book Study

Section 10. 상속

언제나즐거운IT 2023. 12. 29. 01:31

01. 상속

상속이란 ?

부모 역할을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것을 상속이라고 한다.

class A {

}

class B extends A {

}

B : 자식클래스 A : 부모클래스

A가 B에게 상속했다 or B가 A로부터 상속 받았다.

 

자식클래스에 구현하지않은 멤버변수, 메서드를 사용할 수 있다.

02. 상속에서의 생성자

super()

부모 클래스의 멤버변수를 초기화해야하는데 자식클래스는 초기화할 수단이 없기 때문에, super() 메서드를 통해서 부모 클래스의 생성자를 호출해 초기화한다!

03. 오버라이딩

부모클래스의 메서드가 마음에 안들때! 자식마음대로 내용을 변경해서 사용이 가능하다. 이것을 오버라이딩 이라 부른다.

조건

  • 부모 클래스의 메서드 이름/반환타입매개변수와 동일해야 한다.
  • 부모 클래스의 메서드 보다 접근 제한을 줄일 수 있으나, 접근 제한을 늘릴 수는 없다. private -> public O public -> private X

@Override (어노테이션)을 작성해야 오버라이딩으로 받아들인다. 작성하지 않으면 새로운 메서드로 받아들임

오버라이드시 super키워드로 부모클래스 멤버변수, 메서드 접근가능.

04. 접근 제한자

접근 제한자

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

별도로 명시 안하면 자동으로 default 선언.

05. final 클래스와 final 메서드

final 클래스

이 클래스는 상속의 마지막 클래스임을 뜻한다. => 더이상의 자식 안받음!

final 메서드

더이상 메서드는 상속받더라도 오버라이딩 불가능.

 

'JAVA Book Study' 카테고리의 다른 글

Section 12. 추상 클래스와 인터페이스  (1) 2023.12.29
Section 11. 다형성과 타입 변환  (0) 2023.12.29
Section 09. 생성자  (0) 2023.12.29
Section 08. 메서드  (0) 2023.12.26
Section 07. 클래스  (0) 2023.12.17
Comments