Jam's story
상속 본문
부모의 필드, 메소드를 자식에게 물려준다.
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