다형성(polymorphism)은 상속 관계에 있는 클래스간의 호환성을 높여주는 기능입니다. 우리가 인스턴스를 생성할 때, 같은 클래스의 자료형을 가진 변수를 선언하여 인스턴스를 생성해 왔습니다. 그런데 부모 클래스의 자료형을 가진 변수를 선언하여 자식 클래스의 인스턴스를 생성할 수 있습니다. 그렇게 생성한 변수에서 자식 클래스의 변수나 메소드를 호출할 수 있습니다. 접근 제어자(access modifier)는 우리가 public과 private에 대해서 이미 알아본 바가 있습니다. 접근 제어자에는 이 외에도 default, protected라는 두 개의 접근 제어자가 더 있습니다. default의 경우 같은 패키지 내의 클래스에서는 접근할 수 있는 권한이 있고, protected의 경우 해당 클래스..