일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 개발자취업
- 로켓펀치 #취준컴퍼니 #취업 #일상 #취준생
- 코딩테스트준비
- throws 키워드
- 항해99
- 99클럽
- 예외 처리
- til
- 다중 catch 블록
- 예외
- 예외클래스
- try-catch-finally 블록
- 일반 예외
- 실행 예외
- Today
- Total
innn
상속관계 본문
상속
- 기존의 클래스를 이용해서 새로운 클래스를 작성하는 것 (코드의 재사용)
- 두 클래스를 부모와 자식으로 관계를 맺어주는 것.
class 자식 클래스 extends 부모클래스 {
}
class Parent {}
class Child extends Parent {
}
Child 클래스와 Parent 클래스는 상속 관계에 있다고 한다.
자손은 조상의 모든 멤버를 상속 받는다. ((생성자, 초기화 블록 제외))
((부모의 부모가 있을 수 있어서 자손이라고 표현. 부모란 표현 대신 조상이란 표현씀. 바로 위 부모말고 부모의 부모클래스도 있을 수 있으니))
선택의 여지가 없음. 부모가 맘에 안들든 들든, 부모의 모든 멤버를 무조건 상속 받아야함.
그래서 자손의 멤버 개수가 조상보다 적을 수 없다. (같거나 많다)
자손의 변경은 조상에 영향을 미치지 않는다.
그래서 자식 클래스는 점점 확장된다.
1번 클래스도 멤버가 3개 2번 클래스도 멤버가 3개다. (2번클래스는 단지 부모클래스에서 상속받은 멤버가 안보이는 것일 뿐)
결론.
상속은 부모클래스 (원서에선 Super{} 클래스)의 멤버(변수, 메소드)를 상속 받은 자식 클래스(원서에선 Sub class{})는 부모클래스의 멤버를 그대로 상속받는다는 것이다.
수퍼 클래스를 상속받은 서브 클래스는 수퍼 클래스의 멤버를 명시하지 않아도 서브클래스 생성시에 사용가능하다. 그대로 상속받았으니까. 단, 상속은 선택할 수 없다 모든 멤버는 그대로 상속받아야한다. 상속받고 싶지 않은 부분을 뺴고 상속받는 것은 없다.
자식 클래스의 변경은 부모클래스에 영향을 끼치지 못한다.
'JAVA > 자바의 정석 기초편_남궁성(2020)' 카테고리의 다른 글
단일 상속, Object 클래스 (0) | 2022.07.06 |
---|---|
포함 관계(Composite, has-a, 90%가 포함 관계!!) (0) | 2022.07.06 |
생성자(Constructor) (0) | 2022.06.26 |
오버로딩(Overloading) (0) | 2022.06.25 |
static 메서드와 인스턴스 메서드 (0) | 2022.06.25 |