상속: 우연한 성능 향상

2025-05-08

Simula가 상속을 발명한 것은 코드 재사용이나 확장성을 위해서가 아니라, 단순한 가비지 컬렉션과 침입형 리스트 관련 문제를 해결하기 위해서였습니다. Simula의 가비지 컬렉터는 스택 변수에 대한 포인터를 처리하기에는 너무 단순했습니다. 충돌을 방지하기 위해 다양한 매개변수 전달 방식이 금지되었고, 표현력이 제한되었습니다. 침입형 리스트를 효율적으로 사용하기 위해 Simula는 "접두사"(상속)를 발명하여 객체가 리스트 노드를 직접 포함할 수 있도록 하고 추가 메모리 할당을 피했습니다. 따라서 상속은 처음에는 성능 최적화였지 OOP의 초석은 아니었습니다.

개발