반응형
클래스 디자인 기본 원칙
- 캡슐화, 정보 은닉
- 캡슐화와 정보 은닉의 유용성
클래스 객체의 생성과 소멸 과정
- 생성자, 소멸자
- 생성자, 소멸자의 유용성(필요성)
정보은닉의 필요성
- 프로그램의 안정적 구현과 관련
캡슐화(Encapsulation)의 기본 개념
- 관련 있는 데이터와 함수를 하나로 묶는 것
**** 캡슐화가 잘 된 코드 ****
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <iostream> using std::cout; using std::endl; using std::cin; class Point { int x; int y; public: int GetX() { return x; } int GetY() { return y; } void SetX(int _x); void SetY(int _y); void ShowData(); }; void Point::SetX(int_x) { if(_x<0 || _x>100) { cout<<"x좌표 입력 오류, 확인 요망"<<endl; return; } x=_x; } void Point::SetY(int_y) { if(_y<0 || _x>100) { cout<<"y좌표 입력 오류, 확인 요망"<<endl; return; } y=_y; } void Point::ShowData() { cout<<"x좌표 : "<<x<<endl; cout<<"y좌표 : "<<y<<endl; } int main() { int x,y; cout<<"좌표입력 : "; cin>>x>>y; Point.p; p.SetX(x); p.SetY(y); p.ShowData(); return 0; } | Crocus |
반응형
'Basic > C++' 카테고리의 다른 글
생성자의 필요성 및 예제(2) (0) | 2015.11.24 |
---|---|
생성자의 필요성 및 예제(1) (0) | 2015.11.24 |
class 기본 예제 및 내부 및 외부접근 코드 (0) | 2015.10.06 |
클래스에 들어가기전, 구조체의 필요성 (0) | 2015.10.06 |
new와 delete 연산자의 기본적 기능 (0) | 2015.10.06 |