728x90
상속 : 다른 클래스가 가지고 있는 멤버들을 새로 만들 클래스에서 직접 만들지 않고
상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있게 만든 기술
- 상속(inheritance)
- 기본 클래스를 재사용해서 새로운 클래스를 정의하는 것이다.
- 두 클래스를 조상과 자손 관계를 맺어준다. (extends)
- 상속을 해주는 클래스 : 수퍼클래스(super), 부모클래스, 기본클래스
- 상속을 받는 클래스 : 서브클래스, 자식클래스, 유도클래스
- 자식(손)클래스는 조상의 모든 자원을 상속받는다.
- (생성자, static{}은 제외)
- 자식(손)의 자원은 부모보다 크거나 같아야 한다.
- 상속을 할때 사용되는 키워드 : extends(단일상속)
사실 오브젝트가 최 상위. 생략되어있음
모든 클래스는 오브젝트를 상속을 받는다.
무조건 다 상속이 가능한 거는 아님
패키지가 같으니까 가능
defaul protected public만 가능
같은패키지, default(생략)이라서 상속 가능
a는 father 클래스에있는 값인데 child가 fater상속을 받으니 child로 a를 불러도 잘 출력 됨.
father child - is a 관계
부모클래스 호출 super()
super
- 자식클래스에서 조상클래스를 호출할 때 사용한다.
- super.멤버변수 super.메소드 super() =>생성자
상속관계에있을때 자식클래스에있는 생성자는 부모클래스에있는 생성자를 호출해야함.
부모클래스의 인자값이없는 생성자 호출
super();
근데 안쓰면 알아서 호출 됨. 굳이 안써도 됨
부모클래스에 인자값이 없는 생성자가 없을시 부모클래스에 있는 생성자타입에 맞게 super에 인자 넣어서 하면 됨.
ex) super(10,30);
ㅋㅋㅋㅋ 이때 super(); 알아서 생성되는 거 몰랐음
메모리구조
728x90
'study > JAVA' 카테고리의 다른 글
JAVA Calendar와 LocalTime 활용 문제 (0) | 2022.04.08 |
---|---|
JAVA Casting (0) | 2022.04.05 |
이것이 자바다 6장 확인문제 20번 (0) | 2022.04.03 |
자바 생성자(constructor)와 오버로딩 (0) | 2022.04.01 |
자바 JAVA 클래스가 메모리에 저장되는 방식 (0) | 2022.04.01 |
댓글