Nice programing

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

nicepro 2020. 10. 7. 08:17
반응형

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


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


이들은 액세스 수정 자 이며 캡슐화 (또는 정보 숨김)를 구현하는 데 도움이 됩니다. 정의되는 필드 또는 메서드에 액세스 할 수 있어야하는 다른 클래스를 컴파일러에 알려줍니다.

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

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

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

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


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

기본적으로 클래스가 멤버 (필드 또는 함수)에 대한 액세스를 제한 할 수 있도록합니다. 아이디어는 다른 유형에서 액세스 할 수있는 유형이 적을수록 종속성이 더 적게 생성 될 수 있다는 것입니다. 이를 통해 액세스 된 개체를 참조하는 개체에 영향을주지 않고보다 쉽게 ​​변경할 수 있습니다.

일반적으로 공개는 모든 사람이 액세스 할 수 있음을 의미하고, private은 동일한 클래스의 구성원 만 액세스 할 수 있음을 의미하며 보호됨은 하위 클래스의 구성원도 허용됨을 의미합니다. 그러나 각 언어는 이것에 자신의 것을 추가합니다. 예를 들어 C ++를 사용하면 비공개로 상속 할 수 있습니다. Java에는 기본 (패키지) 액세스 수준도 있으며 내부 클래스 등에 대한 규칙이 있습니다.


세 가지 모두 클래스에서 사용되는 액세스 수정 자 및 키워드입니다. public으로 선언 된 모든 것은 클래스 내 또는 클래스 외부의 모든 객체에서 사용할 수 있으며, private 변수는 클래스 내 객체에서만 사용할 수 있으며 직접 액세스를 통해 변경할 수 없습니다 (친구 함수와 같은 함수를 통해 변경할 수 있음). 보호 된 섹션에 정의 된 모든 것은 클래스와 방금 파생 된 클래스에서 사용할 수 있습니다.


공용 항목은 다른 클래스에서 액세스 할 수있는 항목입니다. 당신은 그것이 어떤 객체인지 알아야하고, 당신은 그것에 접근하기 위해 점 연산자를 사용할 수 있습니다. 보호됨은 클래스와 하위 클래스가 변수에 액세스 할 수 있지만 다른 클래스에는 액세스 할 수 없음을 의미합니다. 변수로 작업을 수행하려면 getter / setter를 사용해야합니다. private은 해당 클래스 만 변수에 직접 액세스 할 수 있으며 다른 모든 항목에는 해당 데이터에 액세스하거나 변경하기위한 메서드 / 함수가 필요합니다. 도움이 되었기를 바랍니다.


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

참고 URL : https://stackoverflow.com/questions/1020749/what-are-public-private-and-protected-in-object-oriented-programming

반응형