Java (자바) 독학 제어문 _ 상속 (Inheritance)
1. 상속 (Inheritance)
- 이미 존재하는 클래스의 기능 혹은 데이터를 받아서 사용하는 것
- 부모 클래스 (Super class): 상속을 하는 클래스
- 자식 클래스 (Sub class): 상속받는 클래스
- protected, public 변수는 상속 가능 / private와 생성자는 상속 불가능
- super();를 이용하여 부모 클래스의 기본 생성자 호출
- override 가능
** override란 부모로부터 상속 받은 매소드의 일부를 수정하는 개념
- 모든 클래스의 최상위 클래스는 Object라는 클래스로 자동 설정되어 있음
- class 앞에 final을 붙이면 해당 class는 상속 할 수 없음
** 지역변수 앞 final은 값 변경이 불가능
2. 상속 Test
Class Name: InheritanceTest_01
Class Name: InheritanceMain_01
public static void main(String[] args) 체크
Superclass 옆 Browse... 클릭
Choose a type에 InheritanceTest_01 검색 후 동일한 Matching item 선택 후 Ok
Superclass 확인 후 Finish로 Class 생성 완료
InheritanceTest_01 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public class InheritanceTest_01 {
public static String name;
protected static int kor;
protected static int eng;
protected static double avg; // 변수 선언
public InheritanceTest_01() { // 생성자
super();
}
public InheritanceTest_01(String name, int kor, int eng) {
super();
this.name = name;
this.kor = kor;
this.eng = eng;
avgcal();
}
public void avgcal() { // 평균 구하는 매소드
this.avg = (this.kor + this.eng) /2.0;
}
}
|
cs |
InheritanceMain_01 코드
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
29
30
31
32
33
34
35
|
public class InheritanceMain_01 extends InheritanceTest_01 {
protected static int mat; // 신규 변수 선언
public InheritanceMain_01() { // 생성자
super();
}
public InheritanceMain_01(int mat) {
super();
this.mat = mat;
avgcal();
}
@Override
public void avgcal() { // overriding
this.avg = (this.kor + this.eng + this.mat) /3.0;
}
public static void main(String[] args) {
InheritanceTest_01 t1 = new InheritanceTest_01("홍길동", 100, 90);
InheritanceMain_01 m1 = new InheritanceMain_01(88);
System.out.printf("평균 = %.2f%n", avg);
kor = 100; // 특별한 변수 선언 없이도 사용 가능
eng = 90;
mat = 88;
avg = (kor + eng + mat) /3.0;
System.out.printf("평균 검산 = %.2f%n", avg);
}
}
|
cs |
저장(ctrl + s) 후 F11을 눌러 출력되는 내용 확인하기

3. 과제
저번에 만든 Students 클래스를 부모 클래스로 하는 Stu_02 클래스를 만들어보세요.
Stu_02 클래스에서 이름, 국어, 수학, 영어 점수를 대입하고, Students에 있는 평균을 구하는 매소드를 이용해서 평균을 구해보세요.
'Java (자바)' 카테고리의 다른 글
쉽게 따라하는 Java (자바) 독학 _ 인터페이스 (Interface) (0) | 2022.12.18 |
---|---|
쉽게 따라하는 Java (자바) 독학 _ 메소드 오버로딩 (Overloading), 오버라이딩(Overriding) (0) | 2022.12.16 |
쉽게 따라하는 Java (자바) 독학 _ 생성자 (Constructor) (0) | 2022.12.13 |
쉽게 따라하는 Java (자바) 독학 _ 접근 지정자 (public, private) (0) | 2022.12.12 |
쉽게 따라하는 Java (자바) 독학 _ 클래스 (class) (0) | 2022.12.11 |
댓글