구현이랑 인터페이스를 구분하는 것의 장점은 알겠어. 근데 그것이 객체지향의 고유한 특징이라고 볼 수 있나?

C로도 struct를 c 파일 안에 생성하고, getter, setter 와 같은 역할을 하는 함수를 통해 데이터에 접근하도록 설계할 수 있잖아.

실제로 많은 라이브러리들이 그런식으로 설계되어 있고.