언어/C++

6. 클래스의 완성

에린_1 2023. 1. 19. 23:16
728x90

정보은닉(Information Hiding)

  • 프로그래머가 실수를 했을 때, 이는 어떻게든 발견되어야 한다.

 

  • 제한된 방법으로의 접근만 허용해서 잘못된 값이 저장되지 않도록 도와야 하고, 또 실수를 했을 때, 실수가 쉽게 발견되도록 해야 한다.

 

  • 멤버변수를 private로 선언하고, 해당 변수에 접근하는 함수를 별도로 정의해서 ,안전한 형태로 멤버 변수의 접근을 유도하는 것이 바로 ‘정보은닉’

 

  • const 함수
    • 이 함수 내에서는 멤버변수에 저장된 값을 변경하지 않겠다
    • const 선언이 추가된 멤버함수 내에서 멤버변수의 값을 변경하는 코드가 삽입되면, 컴파일 에러가 발생한다.
    • const 함수 내에서는 const가 아닌 함수의 호출이 제한된다.

 

 

캡슐화(Encapsulation)

  • 하나의 목적 하에 둘 이상의 기능이 모여 하나의 목적을 달성

 

  • 캡슐화는 어려운 개념. 캡슐화의 범위를 결정하는 일이 쉽지 않기 때문이다.

 

  • 구현하는 프로그램의 성격과 특성에 따라서 적용하는 범위가 달라지는, 정답이 딱히 없는 개념

 

  • 캡슐화에는 정보은닉이 기본적으로 포함된다
728x90

'언어 > C++' 카테고리의 다른 글

8. 상속과 다형성  (0) 2023.01.26
7. 상속(Inheritance)의 이해  (0) 2023.01.26
5. 연산자 다중정의  (0) 2023.01.17
4. 복사 생성자 & 임시객체  (0) 2023.01.17
3. 클래스  (0) 2023.01.16