티스토리 뷰
상속
class 서브클래스명 extends 슈퍼클래스명 {}
슈퍼 클래스의 멤버(멤버변수, 메서드)를 서브 클래스가 물려 받는 것!
- 중복 코드 사용 방지, 유지보수에 용이
- private 접근제한자 적용 시 상속 대상에서 제외된다.
- 생성자는 상속되지 않는다.
- 자바는 단일 상속만 지원한다.
메서드 오버라이딩
상속받은 메서드를 서브클래스에스 재정의하는 것!
- 서브클래스에서 오버라이딩 수행 후에는 슈퍼클래스의 메서드는 은닉된다.
public class Px1 {
public static void main(String[] args) {
Dog a1 = new Dog();
a1.name = "바둑";
a1.age = 3;
a1.Cry(); // 멍!, 바둑 : 3
Ham a2 = new Ham();
a2.name = "햄";
a2.age = 2;
a2.Cry(); // 찍!, 햄 : 2
a1.Pet(); // 반려동물!
}
}
class Animal { // 슈퍼클래스
String name;
int age;
String cry;
public void Pet() {
System.out.println("반려동물!");
}
public void Cry() {
System.out.println("울음소리!");
}
public void showInfo() {
System.out.println(name + " : " + age);
}
}
class Dog extends Animal{ // 서브클래스
@Override // 오버라이딩
public void Cry() {
System.out.println("멍!");
showInfo();
}
}
class Ham extends Animal{ // 서브클래스
@Override // 오버라이딩
public void Cry() {
System.out.println("찍!");
showInfo();
}
}
'배운 것 기록 > java' 카테고리의 다른 글
레퍼런스 형변환 (0) | 2022.06.02 |
---|---|
super, final (0) | 2022.06.01 |
Scanner (0) | 2022.05.30 |
싱글톤 (0) | 2022.05.29 |
자동 증가값 생성 - static (0) | 2022.05.28 |
댓글