... 이전 포스팅 [C++] #1 클래스 (Class) 에서 은닉성(정보은닉)을 위해 접근 제어 지시자를 멤버변수는 private로 멤버함수는 public으로 설정한다고 공부했다. 이번 포스팅 에서는 getter setter 함수를 이용해 private로 설정한 멤버 변수에 접근하는 방법에 대해 정리 하고자 한다. *개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. # getter setter 함수 앞에서도 이야기 했듯이, 보통 클래스의 멤버변수는 private로 멤버함수는 public으로 설정한다. class Player { private: string m_name; int m_level; int m_hp; int m_mp; int m_atk; publ..
클래스란 객체지향 프로그래밍(OPP)에서 객체를 생성하기 위한 멤버변수(상태)와 멤버함수(행동)을 정의하는 틀과 같은 역할을 수행한다. 객체지향 프로그래밍은 모든 데이터를 객체로 취급하며, 이러한 객체들의 조합으로 코드를 작성하는 프로그래밍 기법이다. 클래스는 C언어의 구조체(Struct)와 상당히 유사한데 차이점은 접근제어 지시자(access specifier)가 추가되었다는 점과, 멤버함수(행동)을 포함할 수 있다는 것이다. 이번 포스팅에서는 C++에서 새롭게 추가된 클래스라는 문법과 접근 제어 지시자에 대해 간략하게 정리해 보고자 한다. * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. #1 클래스 _ class #2 접근 제어 지시자 _ acce..
* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. * 다음 포스팅은 총 3편으로 나누어 정리할 예정입니다. VOL1 함수 포인터 (Function Pointer) 개요 #1 함수 포인터란? #2 함수 포인터 사용법 #1 함수 포인터란? 포인터 문법을 이용하면 변수의 주소를 저장할 수 있습니다. 예를들어 아래와 같이 코드를 작성하면 int형 변수 val의 주소가 ptr에 저장됩니다. int val = 10; int *ptr = &val; cout
*개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. #1 Return By Value #2 Return By Address / Reference #1 Return By Value getValue 함수는 값(Value)을 반환하는 간단한 Return-By-Value 함수입니다. Return-By-Value 함수는 복사 과정이 많이 일어나서 비효율적이라는 단점이 있습니다. 물론 아래 코드처럼 간단한 케이스는 상관 없지만 배열이나 구조체 등 데이터가 많은 자료형을 반환할 때는 문제가 발생할 수 있습니다. #include using namespace std; // return by value int getValue(int x) { int value = x * 2;..
*개인적인 공부내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. const 키워드는 변수의 값이 변경되지 않기를 원하는 경우 변수를 상수화 시키는 용도로 사용하곤 합니다. int a = 10; const int a = 10; // 상수화 const는 변수 뿐 만 아니라 포인터 혹은 참조자(&)에도 사용이 가능합니다. 이번 포스팅에서는 const를 참조자(&)에 사용한 예시와 const와 참조자를 함께 사용 시 얻을 수 있는 이점에 대해 정리해 보도록 하겠습니다. 참조자에 100과 같은 값(리터럴)을 대입하려고 하면 에러가 발생합니다. 그 이유는 어찌보면 당연한데 참조자는 변수의 메모리 주소를 저장하는 문법인데 리터럴 값을 대입하려고 하니 오류가 발생하는 것 입니다. in..