본문 바로가기
카테고리 없음

클래스멤버 접근접근속성

by ByteBridge 2013. 2. 23.
반응형

크래스 멤버의 접근 속성à private,protected,public 이있다.

멤버함수 정의형식:

자료형 클래스 이름::멤버 함수 이름(매개변수)

{

함수내용;

}

함수내용에서 클래스의 멤버 변수는 별도의 선언이나 매개변수로 전달받지않고 사용할수있다

멤버 함수정의 부분에서 '클래스 이름::'으로 범위가 설정되어있기 때문에 해당 클래스의 멤버를 직접적으로 접근해서 참조할수있다.

같은 클래스내의 멤버들끼리는 자유롭게 접근할수있다

클래스의 멤버접근 속성이란? 클래스의 밖에서 클래스 멤버 변수와 함수에 접근할 수 있는 자격설정을 나타낸다.멤버 변수에 값을 설정하거나 출력하려면 그변수를 참조할수있어야한다.

이것은 멤버 접근 속성에 따라 결정된다.

접근지정자:

  • Private: 같은 크래스 멤버만 접근허용
  • Public : 모든 위치에서 접근 허용

클래스 멤버는 멤버 참조 연산자(.) 로 접근하며 접근 속성에 의해 참조 여부가 결정된다.

à멤버접근 속성은 한번 명시하면 다시 명시되기전까지 계속 명시된 멤버 접근 속성으로 지속된다.

멤버접근 속성을 명시하지않으면 private 이 기본이라는 것은 private 속성이 기본임을 의미함

Private 속성멤버는 같은 클래스 내에서만 접근을 허락한다.

 

  • 일반적으로 클래스를 정의할 때 멤버변수와 내부처리에 해당하는 멤버 함수는 private으로 지정하며 private 속성 의멤버 변수에 값을 할당하거나 외부에 값을 출력하는 함수는 public 으로 멤버접근 속성을 설정한다.

     

    외부로의 공개를 방지하기 위해 private 속성을 기본으로 설정

  • 멤버변수와 내부 처리의 경우 private 속성으로 , 외부에서 수행할 멤버함수의 경우 public 으로 설정한다.

    또한 멤버 변수에 값을 할당할 때 ㅣpublic 멤버 함수를 사용한다면 일반적으로 'set'으로 시작,

    멤버변수의 값을 외부로 출력할때는 public 멤버함수에 'get' 으로 표기한다.(사용자마음임)

ex:

class test

{

Public:

    Void show();

    Void set(cons int s) ;

    Int get();

Private:

    Int score;

 

};

Void test::setscroe(cost int s)

{

Score=s;

}

Int test::get()

{

Return score;

}

예에서 세개의 멤버함수는 public 으로 접근 속성을 정함,멤버 변수는 private 로 접근 속성을 정함,멤버 함수set()의 경우 전달받은 매개변수는 값 할당에 사용되고 값이 함수 내에서 변하지않는다

따라서 sonst로 매개 변수가 입력값으로 사용된다.get()의 경우 함수의 반환값으로 score를 전달해서 외부에서 사용할수있게ㅐ 된다

반응형