속성 대 공용 필드: 캡슐화 역설 탐구
클래스를 사용하여 작업할 때 개발자는 종종 공용 속성과 전용 필드를 활용해야 하는 딜레마에 직면합니다. 필드 또는 공개 필드만 선택합니다. 이 기사에서는 각 접근 방식의 장점을 자세히 살펴보고 선택을 안내하는 미묘한 차이를 살펴보겠습니다.
먼저, 프라이빗 필드를 미러링하기 위해 간단한 getter/setter 속성이 생성되는 겉으로는 간단해 보이는 시나리오를 살펴보겠습니다. 다음 코드의 예시와 같습니다.
private int myInt; public int MyInt { get { return myInt; } set { myInt = value } }
다음 코드에서 볼 수 있듯이 이 코드를 공개 필드의 대안과 비교합니다. snippet:
public int MyInt;
처음에는 속성을 사용하여 제공되는 추가 캡슐화가 명백히 부족하다는 의문이 생길 수 있습니다. 실제로 개인 필드에 대한 직접 액세스는 데이터 조작에 있어 똑같이 효과적인 수단을 제공하는 것 같습니다.
그러나 자세히 살펴보면 특정 시나리오에서 속성 사용이 필요하다는 것이 분명해집니다. James Yu의 기사(http://blog.codinghorror.com/properties-vs-public-variables/)에서 강조한 것처럼 염두에 두어야 할 몇 가지 주요 고려 사항이 있습니다.
위 내용은 속성과 공개 필드: 언제 캡슐화를 선택해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!