• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] C++ - Encapsulation (캡슐화)

1,947  
목차
  1. Encapsulation (캡슐화)
  2. 캡슐화 장점

 

Encapsulation (캡슐화)

 

"민감한" 데이터를 사용자에게 비노출.

즉, 클래스 안 데이터 직접 수정 막고 메서드로만 변경 허용.

1. 데이터 보호. 

2. 내부적으로만 작동하는 코드 숨김.

 


[방법] ★

 

1. 클래스 안 속성(=변수)을 private으로 설정. 

※ private 접근지정자 :동일 클래스에서만 접근 가능.

 

2. private 설정된 속성에 접근 방법 :

public 설정된 get/set 메서드 통해서만 허용.

 


[예제]

 

#include <iostream>

using namespace std;


class Hz {

  private:

    string host;


  public:

    void setHost(string h) {

      host = h;

    }

    string getHost() {

      return host;

    }

};


int main() {

  Hz my;

  my.setHost("Homzzang.com");

  cout << my.getHost();

  return 0;

}

 

결과값: Homzzang.com


PS. 코드 설명.

 

※ host : private (= 다른 클래스에서 접근 금지) 설정된 필드. 

※ get 메서드 : host 필드 값 반환.

※ set 메서드 : host 필드 값 설정.  

 

 

캡슐화 장점

 

1.

클래스 안 속성/메서드에 대한 더 나은 제어.

즉, 누군가에 의해 코드가 엉망이 될 가능성 ↓.

 

2.

유연성↑. (즉,  다른 부분에 영향 안 주고, 코드 일부만 변경 가능.)

 

3.

데이터 보안 강화.

 



분류 제목
basic C++ - Home (입문) - 추천 링크
basic C++ - Intro (소개) - 용도・특징
basic C++ - Start (시작) - Code::Blocks (코드 블럭스) 설치/실행/세팅. ※ 한글 깨짐 해…
basic C++ - Syntax (구문)
basic C++ - Output (출력)
basic C++ - New Lines (줄바꿈)
basic C++ - Comment (주석)
basic C++ - Variable (변수) ★ ※ 상수
basic C++ - User Input (사용자 입력)
basic C++ - Data Type (데이터 타입) - 자료형
basic C++ - Operator (연산자)
basic C++ - String (문자열)
basic C++ - Math (수학)
basic C++ - Boolean (참거짓)
basic C++ - If ... Else - (이프 조건문) ★
basic C++ - Switch (스위치 조건문) ★
basic C++ - While Loop (와일 반복문) ★
basic C++ - For Loop (포 반복문) ★
basic C++ - Break/Continue (브레이크/컨티뉴) 키워드 ★ - 반복문 빠져나가기 / 특정 조건 건너…
basic C++ - Arrays (배열)
1/2
목록
찾아주셔서 감사합니다. Since 2012