여기서는 주로 속성 보속기, 즉 get, set 메서드를 살펴봅니다.
getter(읽기)와 setter(쓰기)의 중국어 이름은 accessor, memory입니다. 이름에서 알 수 있듯이, 이는 변수를 얻고 설정하는 데 사용됩니다. 게터, 세터를 위한 다른 객체지향 언어들(C#, Java)에 대해 읽어본 결과, 장점은 다음과 같이 요약되었습니다:
1. 객체지향 언어의 경우, 멤버 변수를 직접 노출하는 것은 객체지향 프로그래밍(OOP)의 캡슐화 원칙과 일치하지 않으며 안전하지도 않으므로, 값을 받고 할당하는 데 게터와 세터를 사용해야 합니다.
2. 이 두 방법은 조건부 필터링, 검증 등 추가 기능을 추가하는 데 사용할 수 있습니다.
3. 내부 저장소와 외부 성능이 다릅니다.
4. 내부 저장 방식과 로직은 수정할 수 있지만 외부 인터페이스는 변경되지 않습니다.
5. 임의의 관리 변수의 수명주기 및 메모리 저장 방식을 관리합니다.
6. 디버그 인터페이스를 제공합니다.
7. 시뮬레이션된 객체, 직렬화, 심지어 WPF 라이브러리와도 통합할 수 있습니다.
8. 상속자가 의미를 변경할 수 있도록 허용한다.
9. 람다 표현식에는 getter와 setter를 사용할 수 있습니다. (아마도 함수로서 함수 전송과 작동에 참여하는 것으로 추정)
10. 게터와 세터는 접근 권한이 다를 수 있습니다.
C#에서는 접근 권한을 다음과 같이 사용합니다
TypeScript에서는 다음과 같이 사용됩니다:
작성이 더 번거롭긴 하지만, 여전히 매우 편리하게 사용할 수 있습니다.
|