본문 바로가기

Programming/C++ 2

[C++ 요약] 10장. 객체와 클래스

반응형

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