14-1 상속의 기본 문법 이해

상속은 연관된 일련의 클래스들에 대해 공통적인 규약을 정의할 수 있다.

코드의 재활용X

상속표시

클래스 이름 오른쪽에 extends + 상속하고자 하는 클래스의 이름

class Man {
    String name;
    public void tellYourName(){
        System.out.println("My name is "+name);
    }
}

class BusinessMan extends Man{  // 비즈니스맨 클래스가 맨 클래스를 상속한다
    String company;
    String position;
    public void tellYourInfo(){
        System.out.println("My company is "+company);
        System.out.println("My position is "+position);
        tellYourName();  // 메서드 호출
    }
}

BusinessMan man = new BusinessMan();

BusinessMan 클래스에서 tellYourName 메소드를 호출하고있지만,

클래스내엔 이 메소드가 존재하지 않는다.

tellYourName 메소드는 Man 클래스에 위치한다.

그러나 오류가 발생하지 않음.

⇒ BusinessMan의 메소드에서는 Man 클래스의 메소드 뿐만 아니라 인스턴스 변수에도, 모든 멤버에 접근 가능하다

⚠ 주의할 사실!

같은 인스턴스에 존재한다고 할지라도, 만약 멤버를 priviate선언 해버리면 존재해도 접근을 못함

상속 관련 용어 정리