Part 2. 객체지향의 도입
3장. 클래스의 기본
더보기
3-1 구조체와 클래스
3-2 클래스와 객체
3-3 클래스 멤버의 접근제어
3-4 멤버 함수의 외부정의
1. 구조체와 클래스
C언어에서의 구조체는 멤버로 함수를 가지지 못한다. 그러나 C++에서는 가능하다.
즉, C++ 에서의 구조체는 C언어에서의 구조체와는 다르다.
.연산자(멤버 접근 연산자)를 이용해서 함수를 호출할 수 있다.
-> C++ 에서의 구조체는 클래스라는 넓은 개념의 일부로 존재한다.
이제 클래스에 대한 정의를 내릴 수 있다.
"클래스 = Attribute(특성) + Method(방법)"
여기서 애트리뷰트라는 것은 변수를 의미하는 것이고, 메소드라는 것은 함수를 의미하는 것이다. 보통은 애트리뷰트를 가리켜 멤버 변수라 하고, 메소드를 가리켜 멤버 함수라 한다.
"클래스 = 멤버 변수 + 멤버함수"
위와 같이 되기도 한다. 그리고 클래스의 변수는 더이상 변수라는 표현을 쓰지 않고 '객체'라는 표현을 사용한다.
객체란, 현실 세계에 존재하는 주변의 모든 것들을 뜻하는 것으로서 완전한 대상체라는 의미를 지닌다.
2. 클래스와 객체
3. 클래스 멤버의 접근제어
4. 멤버 함수의 외부정의
C++ 에서는 멤버 함수를 클래스의 외부에 정의하는 방법을 제공한다.
멤버 함수의 선언만 클래스 내부에 두고, 정의는 클래스 밖으로 빼낼 수 있다. 단순히 클래스 내부의 선언을 간결하게 하기 위해서 외부로 빼내는 것이다.
그러면 클래스의 선언과 클래스의 정의가 나뉜다.
'프로그래밍 언어 > C++' 카테고리의 다른 글
[열혈강의 C++] 5장. 복사 생성자 (0) | 2024.05.18 |
---|---|
[열혈강의 C++] 4장. 클래스의 완성 (0) | 2024.05.17 |
[열혈강의 C++] 2장. C 기반의 C++ 2 (0) | 2024.05.17 |
[열혈강의 C++] 1장. C 기반의 C++ 1 (0) | 2024.05.17 |
[총정리] 윤성우 열혈 C++ 정리 (0) | 2024.05.17 |