상속
상속 Inheritance
상속은 부모 클래스의 특징을 자식 클래스가 물려받는 것입니다.
기본 클래스(base class)의 특징을 파생 클래스(derived class)가 상속받는다라고 합니다.
부모클래스
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
// 부모 클래스 Parent 정의
class Parent {
private int privateMember = 10;
int defaultMember = 20;
protected int protectedMember = 30;
public int publicMember = 40;
}
// 자식 클래스 Child 정의 (Parent 클래스를 상속받음)
class Child extends Parent {
public void accessParentMembers() {
// privateMember는 부모 클래스 내부에서만 접근 가능하므로 오류가 발생합니다.
// System.out.println(privateMember); // 오류: privateMember는 접근할 수 없습니다.
// defaultMember는 같은 패키지 내에서 접근 가능하므로 오류가 발생하지 않습니다.
System.out.println(defaultMember); // 출력: 20
// protectedMember는 부모 클래스와 그 자식 클래스에서 접근 가능합니다.
System.out.println(protectedMember); // 출력: 30
// publicMember는 어디서든 접근 가능합니다.
System.out.println(publicMember); // 출력: 40
}
}
부모 클래스에 새로운 필드를 하나 추가하면, 자식 클래스에도 자동으로 해당 필드가 추가된 것처럼 동작합니다.
부모 클래스의 접근 제어가 private이나 default로 설정된 멤버는 자식 클래스에서 상속받지만 접근할 수는 없습니다.
자식 클래스
1
2
3
class 자식클래스이름 extend 부모클래스이름 { ... }
자식 클래스(child class)란 부모 클래스의 모든 특성을 물려받아 새롭게 작성된 클래스를 의미합니다.
자식 클래스에는 부모 클래스의 필드와 메소드만이 상속되며, 생성자와 초기화 블록은 상속되지 않습니다.
This post is licensed under CC BY 4.0 by the author.