반응형
OOP는 프로그램이 데이터를 표현하는 방법을 강조하는데
1. 데이터를 프로그램의 인터페이스를 가지고 서술하는 것
-> 데이터를 사용하는 방법을 말하는 인터페이스를 구현하는 클래스를 설계
-> private 멤버 변수들이 정보를 저장 [데이터 은닉]
-> public 멤버 함수가 유일한 데이터 접근 [메서드]
-> 클래스는 이 데이터와 메서드를 하나의 패키지로 결합
2. 클래스의 설계
-> 클래스 선언을 두 부분으로 나누어 독립된 파일에 저장
-> 헤더 파일: 클래스 선언
-> 소스파일 : 멤버 함수의 정의
즉 , 인터페이스와 세부 구현의 분리
따라서 클래스를 사용하기 위해서는 public 인터페이스만 있으면 된다.
[세부적인 구현에 사용자 프로그램의 종속을 막는다]
3. 사용자 정의 데이터형인 클래스와 그 클래스의 객체
-> 사용자 정의 데이터형을 표준 데이터형과 비슷하게 만들어서 객체, 객체의 포인터, 객체 배열을 선언 가능하게 한다.
[객체를 매개변수로 전달, 함수의 리턴값으로 사용, 객체를 다른 객체에 대입,
생성자 메서드를 이용해 생성과 동시에 초기화, 파괴자 메서드를 이용해 객체가 끝나면 파괴자 메서드를 실행]
4. 객체들은 클래스 메서드를 공유해 도트멤버 연산자를 사용해 그 멤버 함수를 호출한다.
-> 메시지를 보내는 것
5. 하나의 멤버 함수를 하나 이상의 객체에 적용하기 위해 제2의 객체를 매개변수로 전달 가능
-> 메서드가 호출한 객체를 명시적으로 참조한다면 this 포인터를 사용할 수 있다.
[this 포인터는 호출한 객체의 주소로 설정되고, *this를 사용해 객체의 별명으로 사용할 수 있다.]
반응형
'Programming > C++ 2' 카테고리의 다른 글
[C++] 17. 파일 입출력 (0) | 2021.06.01 |
---|---|
[C++ 연습문제] 10장. 객체와 클래스 (1) (0) | 2021.04.13 |
[C++] 10장-7. 추상화 데이터형 (0) | 2021.04.12 |
[C++] 10장-5. 객체 배열 (0) | 2021.04.11 |
[C++] 10장-4. this 포인터 (0) | 2021.04.11 |