필드는 비공개로 두고 공개 메서드로 유효한 상태 변경만 허용할 수 있습니다.
oop traits
러스트가 객체 지향 개념을 표현하는 방식
러스트에는 전통적인 클래스 상속은 없지만 구조체, 열거형, 트레이트를 조합해 캡슐화와 다형성을 표현할 수 있습니다.
trait는 여러 타입이 같은 메시지에 응답하는 계약을 정의합니다.
제네릭 또는 트레이트 객체가 서로 다른 타입을 같은 인터페이스 아래 묶습니다.
러스트는 부모 클래스 확장보다 타입 조합과 트레이트 구현을 선호합니다.