OOP에서는 다형성을 활용해 여러 구현 클래스를 동일한 형태의 인터페이스로 다룰 수 있다. 반면 DOP에서는 OOP의 객체(클래스)를 데이터와 코드로 분리하고 데이터를 범용 자료 구조로만 다룬다. 때문에 데이터 유형에 따라 다른 클래스를 가지기보다는 필드 값 기반으로 구분하는 방향을 지향한다. 그렇다면 DOP에서는 어떻게 OOP의 다형성이 주는 이점을 누릴 수 있을까? 다형성의 핵심interface IAnimal { public void greet();}class Dog implements IAnimal { private String name; // 생성자 추가 public Dog(String name) { this.name = name; } publi..