Oracle의 OOP 개념 소개를 읽고이 설명을 보았습니다.
실제 객체는 두 가지 특성을 공유합니다. 모두 상태와 동작이 있습니다. 개는 상태 (이름, 색깔, 번식, 배고픈)와 행동 (짖는 소리, 가져 오기, 흔들기 꼬리)이 있습니다. 소프트웨어 객체는 개념적으로 실제 객체와 유사합니다. 상태 및 관련 동작으로 구성됩니다.
그 구절에 대한 나의 문제는 상태를 묘사 할 때 그 속성 도 혼합 한다는 것입니다. 예를 들어, 개의 이름과 색깔은 그 속성이며, 배고프거나 목이 마르는 것은 그 상태입니다.
내 의견으로는 객체의 특성을 속성, 상태 및 동작의 세 부분으로 나누는 것이 더 정확합니다 .
물론 이것을 프로그래밍 언어로 번역 할 때 속성과 상태가 모두 필드 / 변수에 저장되고 동작은 메소드 / 함수에 저장되기 때문에 3 배 파티션이 2 배 파티션이되는 것을 알 수 있습니다.
그러나 개념적으로 말하면 세 가지를 분리하는 것이 더 합리적입니다.
또 다른 예가 있습니다 : 램프를 고려하십시오. 램프 크기와 전원이 켜져 있는지 여부는 상태에 따라 달라집니다. 램프 크기는 상태가 아닌 속성이며, 켜거나 끄는 상태는 상태입니다.
아니면 내가 뭔가를 그리워 했습니까?