728x90
아래 이미지는 1번 파일을 0번 파일이 상속했다
자식 클래스 부모 클래스의 이름을 눌러보면 부모클래스와 연결되어있는 코드들의 색깔이 진해진다
이 코드들은 중복이기에 삭제하여도 부모와 자식 클래스의 정보가 연동된다
삭제 전
삭제 후
0번 parent
1번 child1
2번 child2
상속관계가 0 -> 1 -> 2
1번이 0번을 상속하고 2번이 1번을 상속한 것
1번 child1에서 parent에 받았던 a,b부분들을 주석 처리해서 2번 child2에서 보면 정보가 그대로인 걸 알 수 있다
public class practice_everyday04 {
public static void main(String[] args) {
// run
practice_everyday04_0 pe1 = new practice_everyday04_0();
pe1.println();
practice_everyday04_1 pe2 = new practice_everyday04_1();
pe2.println();
practice_everyday04_2 pe3 = new practice_everyday04_2();
pe3.println();
}
}
public class practice_everyday04_0 {
// Parent
private int a;
private int b;
public practice_everyday04_0() {}
public practice_everyday04_0(int a, int b) {
this.a = a;
this.b = b;
}
//getter & setter
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
public void println() {
System.out.println("parent");
}
}
public class practice_everyday04_1 extends practice_everyday04_0 {
// child1
// private int a;
// private int b;
private int c;
public practice_everyday04_1() {}
public practice_everyday04_1(int a, int b, int c) {
// this.a = a;
// this.b = b;
this.c = c;
}
// getter & setter
// setter : 데이터를 변수에 저장하는 메소드
// getter : 저장된 데이터를 불러오는 메소드
// public int getA() {
// return a;
// }
// public void setA(int a) {
// this.a = a;
// }
// public int getB() {
// return b;
// }
// public void setB(int b) {
// this.b = b;
// }
public int getC() {
return c;
}
public void setC(int c) {
this.c = c;
}
@Override
public void println() {
System.out.println("child1");
}
}
// 상속 & overriding
public class practice_everyday04_2 extends practice_everyday04_1{
// child2
private int a;
private int b;
private int c;
private int d;
public practice_everyday04_2() {}
public practice_everyday04_2(int a, int b, int c, int d) {
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
// getter & setter
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
public int getC() {
return c;
}
public void setC(int c) {
this.c = c;
}
public int getD() {
return d;
}
public void setD(int d) {
this.d = d;
}
@Override
public void println() {
System.out.println("child2");
}
}
728x90
반응형
'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글
[1일1코딩] [Java] array 초기화 3가지 (0) | 2022.03.01 |
---|---|
[1일1코딩] [Java] 삼항연산자 (2중) + do while문 (0) | 2022.02.28 |
[1일1코딩] [Java] byte 파일 읽고 쓰기 + try with resource (0) | 2022.02.26 |
[1일1코딩] [Java] byte 기반 파일 쓰고 읽기 FileOutputStream + BufferedOutputStream (0) | 2022.02.25 |
[1일1코딩] [Java] 문자기반 스트림 FileWriter + FileReader (0) | 2022.02.24 |