다형성 객체지향 프로그래밍의 3대특징 1 . 캡슐화 2 . 상속 3 . 다형성 하나의 인스턴스가 여러가지 타입을 가질 수 있는 것을 의미 결합도를 낮춰 유지보수성과 생산성 증가 상속 관계에 있는 모든 객체는 동일한 메시지를 수신할 수 있음 확장성이 좋은 코드 작성 가능 1 . 다형성 구현 : 동적바인딩 동적바인딩 : 컴파일시에는 해당 타입의 메소드와 연결되어 있다가 실행 시간(runtime)에 실제 객체가 가진 오버라이딩 된 메소드로 바인딩이 바뀌어 동작하는 것 상속 관계로 이루어져 다형성이 적용되어야하고 메소드 오버라이딩이 되어 있어야 함. 하나의 메소드 호출로 각기 다른 객체의 다른 메소드를 동작 시키게 함 2 . 클래스 형변환 (class type casting) 객체별로 고유한 기능은 동작시키지 ..