다형성(Polymorphism) 객체 지향에서 가장 중요한 개념 예시 1) 무대에서 공연을 하는 배우와 감독 특징 1 - 배우는 대체가 가능해야 한다. => 이상이 생긴 곳만 고치면 된다. 유연하다. 특징 2 - 배우는 상대배우가 바뀌어도 똑같이 연기를 하면 된다. => 다른 곳의 코드를 변경해도 다른 객체들은 변경할 필요가 없다. 변경에 용이하다. 예시 2) 운전자와 자동차 특징 1 - 운전자는 운전하는 법을 한 번만 배우면 같은 설계의 모든 차를 운전할 수 있다. => 클라이언트의 코드를 변경할 필요가 없음 특징 2 - 차는 종류가 달라져도 운전하는 법은 똑같아야 한다 => 오버라이딩의 개념, 인터페이스에 구현된 것을 그대로 쓰되 틀 안에서 유연하게 변경 가능 역할과 구현의 분리 역할 = 인터페이스 ..