class 상속
: 기존의 클래스를 재사용,
새로운 클래스에서 기존 클래스의 속성과 메서드를 확장 사용 가능
⭐ 상속시 주의사항
1. 생성자 = protect
상속클래스에서만 public처럼 사용가능 ( 외부 클래스에서 사용 불가 )
2. 부모class에 접근하는 예약어 = super
: 하위class -> 상위class에 접근시 사용
3. 상속은 단일 상속이 원칙! (다중 상속X)
4. 형태 : 부모class명 extends 자식class명
모든 클래스의 최고 조상은 Object class
- 모든 클래스는 Object가 제공하는 클래스를 사용할 수 있고, 오버라이딩 할 수 있음
//부모 클래스
class A {
private int a, b, c; //자신만 사용 가능
protected int num; // 상속가능!!
//프린트메서드
public void print() {
System.out.println("a: " + a + " b: " + b + " c: " + c);
System.out.println("num: " + num);
}
//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 getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
//자식 클래스
class B extends A {
// a, b, c = getter/setter로 접근이 가능 + d, e, f 직접 접근, 사용 가능
private int d, e, f;
//자동으로 print를 하는 방법 : 마우스 우키 - sourse - override
//단, print() 라는 같은 이름의 메소드가 없어야함!
@Override
public void print() {
super.print();
}
public void print1() {
super.print(); //super : 부모클래스의 값을 가져올때 사용
System.out.println("d: " + d + " e: " + e + " f: " + f);
}
public int getD() {
return d;
}
public void setD(int d) {
this.d = d;
}
public int getE() {
return e;
}
public void setE(int e) {
this.e = e;
}
public int getF() {
return f;
}
public void setF(int f) {
this.f = f;
}
}
'JAVA > java' 카테고리의 다른 글
[JAVA] class 클래스와 객체 : this 예약어 (0) | 2023.03.25 |
---|---|
[JAVA] overriding 오버라이딩 (0) | 2023.03.25 |
[JAVA] class 클래스 사용 (0) | 2023.03.25 |
[JAVA] class 클래스 구성요소 (0) | 2023.03.25 |
[JAVA] 조건문 If문 / switch문 (0) | 2023.03.25 |