2012-06-21 3 views
0

나는 자바를 배우고 있으며 다음과 같은 옵션이 주어진다 :Java 클래스에서 캡슐화를 구현하는 방법은 무엇입니까?

어떻게 클래스에서 캡슐화를 구현할 수 있습니까?

  1. 모든 변수를 보호하고 메소드를 통해서만 액세스를 허용하십시오.
  2. 모든 변수를 비공개로 설정하고 메소드를 통해서만 액세스를 허용합니다.
  3. 모든 변수가 래퍼 클래스로 표시되는지 확인하십시오.
  4. 모든 변수가 조상 클래스의 메서드를 통해 액세스되는지 확인합니다.

내 선택은 두 번째이지만 누군가 다른 선택이 올바른지 생각해보고 싶습니다. 또한 여기서 다루지 않는 캡슐화를 구현하는 다른 방법이 있습니까?

+12

이러한 오히려 무의미한 객관식 퀴즈의 목적에 따라 선택이 정확합니다. – Thilo

+1

첫 번째 대답은 캡슐화 된 것으로 볼 수도 있고,보다 약한 캡슐화 (구현 세부 정보를 하위 클래스 및 패키지의 다른 요소에 노출하지만 다른 누구도 노출하지 않습니다). –

+3

나중에 참조 할 때 여기에서 질문하는 것이 최선의 유형은 아닙니다. – SomeKittens

답변

1

네가 맞아. 다른 방법은 구현 클래스의 기능을 캡슐화 할 인터페이스를 정의하는 것입니다.

Wikipedia에서 :

캡슐은 다음과 같습니다

  • 객체의 구성 요소 중 일부에 대한 액세스를 제한하기위한 언어 메커니즘.
  • 해당 데이터에서 작동하는 메서드 (또는 다른 함수)와 데이터를 쉽게 묶을 수있는 언어 구조입니다.
관련 문제