Jam's story

상속 본문

자바

상속

애플쩀 2022. 1. 24. 23:09

부모의 필드, 메소드를 자식에게 물려준다. 

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

 

모든 객체는 생성자를 호출해야 생성이 된다. 

자식클래스 생성자에 super(); 를 넣어 부모클래스의 기본 생성자를 호출한다. 

super(매개값 , ); 은 그 매개값에 맞는 생성자가 호출된다. 

반드시 자식생성자 맨 첫줄에 위치해야한다. 

 

메소드를 오버라이딩 할 때 
  • 부모의 메소드를 동일한 시그너처(리턴타입, 메소드 이름, 매개변수 리스트 )를 가져야 한다.
  • 접근제한을 더 강하게는 불가능 (약하게는 가능 ) 

부모가 public 인데 자식 private나 defualt 불가능

부모가 defualt라면 자식은 default, public 가능 

 

  • 새로운 예외를 throw 할 수 없다. 

 

오버라이딩을 하게되면, 부모클래스의 메소드는 숨겨지고 오버라이딩된 자식메소드만 사용된다. 

하지만 부모메소드를 호출하고 싶다면

 super.부모메소드();

  

부모가 될수없는 (상속할 수 없는) final 클래스

 public final class 클래스 {}  -> 상속할 수 없는 클래스이다. = 자식을 만들 수 없다 .=부모가 될 수 없다. 

 

final 메소드-> 오버라이딩 못함

최종적인 메소드이므로 오버라이딩 금지

 

 

protected   -> 패키지가 달라도 상속받았다면 접근 가능 

   

'자바' 카테고리의 다른 글

인터페이스  (0) 2022.01.26
자동타입변환, 강제타입변환  (0) 2022.01.25
이것이 자바다 6장 확인문제  (0) 2022.01.24
Getter , Setter  (0) 2022.01.13
접근제한 (public, private ,protected, defualt )  (0) 2022.01.13
Comments