객체 지향 프로그래밍 기능
객체 지향 프로그래밍(OOP)은 프로그램을 모델링하는 한 가지 방식입니다. 프로그램적 개념으로서의 객체는 1960년대 Simula 언어에서 처음 도입되었습니다. 그리고 그 객체 개념은 “객체들이 서로 메시지를 주고받는다”는 Alan Kay의 프로그래밍 아키텍처에도 영향을 주었습니다. 그는 이 아키텍처를 설명하기 위해 1967년에 객체 지향 프로그래밍 이라는 용어를 만들었습니다. OOP가 무엇인지에 대해서는 서로 다른 정의가 많고, 어떤 정의에 따르면 러스트는 객체 지향이고, 다른 정의에 따르면 그렇지 않기도 합니다. 이 장에서는 일반적으로 객체 지향의 특징으로 여겨지는 몇 가지 성질을 살펴보고, 그것들이 관용적인 러스트 코드에서는 어떻게 번역되는지 알아보겠습니다. 그런 다음 러스트에서 하나의 객체 지향 디자인 패턴을 구현하는 방법을 보여 주고, 그렇게 하는 것과 러스트 자체의 강점을 살린 해결책을 쓰는 것 사이의 트레이드오프를 논의하겠습니다.