문제

객체 지향 프로그래밍에서 공개, 개인 및 보호 된 것은 무엇입니까?

도움이 되었습니까?

해결책

그들은 액세스 수정 자 그리고 우리가 구현할 수 있도록 도와줍니다 캡슐화 (또는 정보 숨기기). 그들은 컴파일러에 다른 클래스가 필드에 액세스 해야하는지 또는 정의중인 방법에 액세스 해야하는지 알려줍니다.

private - 현재 클래스 만 필드 또는 방법에 액세스 할 수 있습니다.

protected -이 클래스의 현재 클래스 및 서브 클래스 (때로는 동일한 패키지 클래스) 만 필드 또는 방법에 액세스 할 수 있습니다.

public - 모든 클래스는 필드를 참조하거나 방법을 호출 할 수 있습니다.

이는 이러한 키워드가 클래스 정의 내 필드 또는 메소드 선언의 일부로 사용된다고 가정합니다.

다른 팁

그들은 실제로 개념이 아니라 C ++ 및 Java와 같은 인기있는 언어에서 발생하는 경향이있는 특정 키워드입니다.

본질적으로, 그들은 클래스가 멤버 (필드 또는 기능)에 대한 액세스를 제한 할 수 있도록하기위한 것입니다. 아이디어는 하나의 유형이 다른 유형으로 액세스 할 수 없을수록 적은 의존성을 만들 수 있다는 것입니다. 이를 통해 액세스 된 객체를 참조하는 객체에 영향을 미치지 않고 쉽게 변경할 수 있습니다.

광범위하게 말하면, 대중은 모든 사람이 액세스 할 수 있다는 것을 의미하고, 개인은 동일한 클래스의 구성원 만 액세스 할 수 있다는 것을 의미하며, 보호 된 것은 서브 클래스의 구성원도 허용된다는 것을 의미합니다. 그러나 각 언어는 이것에 자체 것들을 추가합니다. 예를 들어 C ++를 사용하면 비공개로 상속받을 수 있습니다. Java에는 기본 (패키지) 액세스 레벨도 있으며 내부 클래스 등에 대한 규칙이 있습니다.

세 가지 모두 액세스 수정 자 및 키워드가 클래스에서 사용됩니다. 공개적으로 선언 된 모든 것은 클래스 내 또는 클래스 외부의 객체에서 사용할 수 있으며, 비공개 변수는 클래스 내의 객체 만 사용할 수 있으며 직접 액세스를 통해 변경할 수 없습니다 (친구 기능과 같은 함수를 통해 변경할 수 있으므로). 보호 섹션에 정의 된 모든 것은 클래스와 그 금지 된 클래스에서 사용할 수 있습니다.

공개 품목은 다른 클래스에서 액세스 할 수있는 항목입니다. 당신은 그것이 어떤 객체인지 알아야하고 도트 연산자를 사용하여 액세스 할 수 있습니다. 보호 된 것은 클래스와 하위 클래스가 변수에 액세스 할 수 있지만 다른 클래스는 아니므로 변수와 함께 무엇이든 수행하기 위해 getter/setter를 사용해야한다는 것을 의미합니다. 개인은 해당 클래스 만 변수에 직접 액세스 할 수 있음을 의미하며 다른 모든 것은 해당 데이터에 액세스하거나 변경하기 위해 메소드/기능이 필요합니다. 도움이 되었기를 바랍니다.

요약하면, 객체 지향 프로그래밍에서 모든 것이 클래스와 객체로 모델링됩니다. 클래스에는 속성과 방법이 포함되어 있습니다. 공개, 개인 및 보호 된 키워드는 다른 클래스 또는 기타 .dlls 또는 기타 응용 프로그램의 클래스의 이러한 멤버 (속성 및 방법)에 대한 액세스를 지정하는 데 사용됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top