C에서 C++로 하나 업그레이드 된 것이, 바로 객체지향 개념의 도입이다.
객체지향 프로그래밍으로 나아가는 이유는, 뭐 재사용이 가장 크지 않을까 라고 생각하지만, 추후 그것은 다른 강좌에서 좀 더 자세히 다루도록 하자.
대부분의 언어에서 class 키워드를 사용하여 객체를 나타내고, C++도 다르지 않다.
이번에는 class가 들어가는 진짜(?) C++ 프로그램을 보기로 하자.
#include "pch.h" #include <iostream> using namespace std;
class GradeBook { public: void displayMessage() const { cout << "Welcome to the Grade Book!" << endl; } };
int main() { GradeBook myGradeBook; myGradeBook.displayMessage();
return 0 } |
main() 함수 전에 class 키워드를 사용하여 GradeBook 객체를 만들었다.
컴파일러에게 어떤 맴버 함수(메쏘드)와 데이타 맴버들이 클래스(객체)에 속해 있는지 알려줘야 한다.
GradeBook 클래스 정의에는 displayMessage라 불리는 맴버 함수가 속해있고, 이 함수는 특정 메시지를 출력한다.
displayMessage 맴버 함수 뒤의 const 키워드는 이 함수는 호출 될 때, 절대 GradeBook 객체를 수정해서는 안 된다는 것이다.
public: 키워드는 그 함수가 public에게 이용가능하다는 것이다. (public을 일반이라고 생각하자. 또는 공용)
즉, 그것은 main()함수와 같은 다른 함수에 의해서 호출될 수 있다는 것을 의미한다.
물론, 다른 맴버 함수들이 클래스에 속해 있다면 그것들에 의해서도 호출될 수 있다는 것을 의미한다.
private과 protected 키워드는 추후에 다룰것이다.
displayMessage 앞의 void는 이 함수가 아무것도 반환하지 않는다는 것을 의미한다.
GradeBook의 displayMessage() 맴버 함수를 쓰기 위해서, 우리는 main() 함수 안에서 myGradeBook이라는 이름으로 GradeBook을 생성하였다.
클래스 이름에 점(.)을 찍고, 사용하고자 하는 맴버 함수를 적으면, 우리는 그 함수를 사용하는 것이다.
위 프로그램을 컴파일하여 실행하면, 아래와 같은 결과가 나온다.
Welcome to the Grade Book! |
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
10 | C++ 기초 - Class 맴버 변수 조작하기 | Eugene | 2020.01.04 | 750 |
9 | C++ 기초 - 기본 생성자(Default Constructor) | Eugene | 2019.12.21 | 1435 |
8 | [C/C++] N X N 배열에 달팽이 모양으로 입력 | Eugene | 2019.08.30 | 1533 |
7 | C++ 기초 - string | Eugene | 2019.08.22 | 354 |
6 | C++ 기초 - Class 맴버 변수와 생성자 | Eugene | 2019.08.01 | 960 |
» | C++ 기초 - Class | Eugene | 2019.05.17 | 626 |
4 | C++ 기초 - 재귀 함수를 이용한 최대값 구하기 | Eugene | 2019.05.15 | 519 |
3 | C++ 기초 - if를 이용하여 두 정수의 크기 비교 | Eugene | 2018.07.25 | 1987 |
2 | C++ 기초 - 두 정수 입력받아 합 구하기 | Eugene | 2017.10.21 | 5755 |
1 | C++ 기초 - Hello World! | Eugene | 2017.09.29 | 3167 |