부모가 보유하고 있는 재산 중 일부를 자식이 물려받는 것
자바는 다중상속 지원 x → 내부클래스 사용
class [sub 클래스명] extends [super 클래스명]{
...;
}
부모클래스가 다른패키지에 있을 경우
→ public, protected 변수는 접근 o
같은 패키지에 있을 경우
→ private 빼고 모두 가능
부모로부터 상속받으면 부모의 메서드를 모두 처리해주어야 오류나지 않음
생성자에서 super 예약어는 반드시 첫줄에서 처리
간단한 상속 예제
내가 상속받은 메서드에 대한 재정의
super클래스가 가지는 메서드를 sub클래스에서 똑같은것을 새롭게 만들게 되면 더 이상 super클래스의 이름이 같은 메서드를 호출할 수 없게 됨
상속이 전제
메서드명 동일
리턴타입 동일
만약 자식클래스에 오버라이딩 된 메서드가 없으면 자동으로 부모클래스의 메서드 호출
public void writeInfo() {
System.out.println("**부모변수 출력**");
System.out.println("이름: "+this.name);
System.out.println("부서: "+this.buseo);
}
public MyInfo_08(String name, String buseo, int age) {
this.name=name;
this.buseo=buseo;
this.age=age;
}
public void myInfo() {
System.out.println("사원명은 "+this.name);
System.out.println("부서는 "+this.buseo);
System.out.println("나이는 "+this.age);
}
public static void main(String[] args) {
MyInfo_08 info1=new MyInfo_08("박예은", "개발부", 25);
info1.myInfo();
System.out.println();
info1.writeInfo(); //부모클래스의 writeInfo() 호출
}