상속(Inheritance) 자바에서 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소이다. 상속은 상위 클래스와 하위 클래스로 나누어 상위 클래스의 멤버(필드, 메서드, 이너 클래스)를 하위 클래스와 공유하는 것을 의미한다. 부모와 자식으로 생각하면, 자식은 어머니와 아버지의 능력들을 물려받듯이 하위 클래스는 상위 클래스의 모든 멤버를 상속받게 된다. 하지만, 모든 멤버를 상속받더라도 항상 직접적으로 접근할 수 있는 것은 아니다. 상위 클래스의 필드나 메서드의 접근 제한자가 private이면, 같은 패키지일 지라도 하위 클래스는 해당 필드나 메서드에 직접적으로 접근하지 못한다. 상위 클래스의 필드나 메서드의 접근 제한자가 default이면, 상위 클래스와 하위 클래스가 다른..