은닉화, 캡슐화
2024. 7. 6. 15:25ㆍC++
캡슐화 - 객체 지향 프로그래밍(OOP)에서 데이터와 그 데이터를 처리하는 메서드(함수)를 하나의 단위로 묶는 것
maker,model,color,price데이터와 그 데이터를 처리하는 call,camera,intro함수들을 한 class안에 캡슐화 시킨 모습이다.
은닉화 - 객체의 세부 구현을 외부로부터 숨기는 것
이런식으로 phone class안의 데이터 값을 넣을 수 있는데, 의도하지 않은 값들이 실수로 들어갈 수 있다.
maker,model,color,price의 속성을 private로 설정하면 외부로부터 데이터를 입력,수정할 수 없게 되며, 객체의 내부를 보호할 수 있다.
하지만 private때문에 제작자역시 main함수에서 바로 class로 값을 넣기는 어렵다. 그러면 어떻게 해야할까?
생성자를 사용하는 방법이 있다.
이렇게 생성자 Phone을 생성해서 데이터 값을 안전하게 세팅하는 방법이 있다.
참고로 this는 객체 자신을 가리키는 특별한 참조자이다. 객체 내부에서 현재 객체를 가리키는 포인터로 사용되며, 주로 멤버 변수와 메서드 호출 시 객체 자신을 명시적으로 참조할 때 사용된다.