반응형
//*****************************************************
// 캡슐화 !! --> 캡슐 == 알약 !! 
// -->  1) 가루형태로 분리되어있는것을 하나로 모아 관리 !!
//      2)  약 좋은 속성과 나쁜속성을 제어 하기 위해 !! 
// --> 치료는 그대로 두면서 쓰다라는 속성을 감춘다 !! 
// -->  캡슐화 !! \
// private:  클래스 내부에서만 접근이 가능한 멤버 !! 
//*****************************************************
// 1) 속성은 private멤버로하자 !! 
// 2) 초기화 : 생성자를 통해서 구현하자 !! 
class Person 
{
private: 
	int   m_age;		  // 나이 --> 사람의 나이를 외부에서 임의로 수정 가능? 
	char m_name[20]; // 이름 --> 접근 할수 없도록 막는다 !! 
	int   m_Score;  
public : 
	//get/set 함수 ( getter/setter)함수를 작성한다!! 
	//  -  프로그래머가 직접 멤버 변수의 접근 권한을 시스템의 따라 설정 !!
	//  -  데이타의 신뢰성을 보장 할수 있다 !! 
	int getAge(){ return m_age; } // 나이를 가져와본다 ! 
	void setAge(int NewAge)
	{
		if( NewAge >= 1) 
			m_age = NewAge; 
	}
	char * getName(){ return m_name;} // 이름을 가져와 본다 !!
	int getScore(){ return m_Score;} 
	void setScore(int score) 
	{  // 예외처리 구문을 포함 할수 있다 !! 
		if( score >= 0  &&  score <= 100) 
    		m_Score =  score; 
	}

	Person() //생성자 !! 
	{
		m_age = 20; 
		strcpy(m_name, "홍길동");
	}
};
void main()
{
	Person p;
	p.setAge(-10); // 논리적 모순 !! 


}

'C, C++' 카테고리의 다른 글

[C++] 상속 이란? 이해, 생성, 소멸  (0) 2014.11.18
[C++] this 이해  (0) 2014.11.18
[C++] static 키워드, 멤버 함수와 활용  (0) 2014.11.18
[C++] const 멤버의 이해, 활용, 사용  (0) 2014.11.18
[C++] 추상화  (0) 2014.11.18

+ Recent posts