예시) 육군(Army), 해군(Navy), 공군(AirForce)

1. 하나의 이름으로 다양한 효과 얻기
2. super키워드
클래스의 상속관계에서 자식 클래스가 부모 클래스를 가리키는 예약어
사용방법
1) 멤버변수 이름 앞에 명시
: 부모 클래스의 멤버변수를 의미한다, 하지만 부모클래스의 멤버변수는 이미 모두 상속되어 있기 때문에 이 경우에는 this 키워드를 사용하는 것과 동일한 결과이기에 잘 사용하지 않는다.
2) 메서드 이름 앞에 명시
: 부모 클래스의 메서드를 의미한다.2-1) 재정의 되지않은 메서드
: 이미 상속되어있기 때문에 this키워드를 사용하는 것과 동일한 결과를 갖는다.
2-2) 재정의 된 메서드
: Override 된 메서드 이름 앞에 사용하게 되면 재정의 되기 이전의 원본 메서드를 의미한다.
(부모클래스에 정의된 say는 this와 super로 호출 가능하지만 자식클래스(korean)에 정의된 say는 super로 호출하면 부모클래스의 say가 호출(Hello)되고 this로 호출하면 안녕하세요가 호출된다.)
3) 키워드 자체를 메서드처럼 사용
: super()
부모 클래스의 생성자를 의미한다.
3. 생성자가 정의된 클래스의 상속 제한
4. @Override
5. 자바 최상위 클래스
<복습>

1) Unit에서 name을 정의한다.
3) attack이란 메서드를 만든다.

2) Army라는 자식 클래스를 만들고 Unit에 상속시킨다.
3) tank라는 메서드를 만든다.
4) attack이라고 하는 메서드를 만든다.
5) super.attack() : 부모 클래스인 Unit에서 정의한 attack메서드를 가져온다.

7) Navy도 Unit에 상속시키고 필요한 메서드들을 만들어준다.

8) Airforce도 위 과정과 같이 만들어준다.

9) Unit에서 정의한 name을 이용하여 각각의 자식 클래스들을 추출할 수 있게 만들어준다.
10) 각각의 자식 클래스에서 만든 메서드들을 출력한다.

11) 결과가 문제없이 나온 것을 확인할 수 있다.