public/protected/private: 불필요한 OOP 기능?

2025-06-19

이 글은 객체지향 프로그래밍에서 접근 제한자(public, protected, private)의 필요성에 대해 의문을 제기합니다. 저자는 인터페이스와 상속을 결합하여 추가적인 메커니즘 없이도 동일한 기능을 구현할 수 있다고 주장합니다. 접근 제한자의 존재는 Simula 언어 설계상의 간과로 인한 중복 기능일 가능성이 있다고 시사합니다. 더 깔끔한 코드를 위해 저자는 접근 제한자 사용을 피하고 상속보다는 합성을 권장합니다.