C++

C++에서는 클래스에도 상수 (const) 개념을 적용할 수 있습니다. const가 적용된 클래스는 속성(attribute)를 변경할 수 없습니다. 그렇다면 속성의 멤버 함수를 호출하면 어떻게 될까요? const Player villain {"Villain", 100, 55}; villain.set_name("Thanos");// COMPILER ERROR std::cout
OOP를 사용하다보면, 한 프로젝트 내에서 다수의 헤더 파일과 cpp파일을 만들게 됩니다. 이 때 우리는 cpp 파일 내부에서, include "header_name.h" 의 형태로 우리는 헤더 파일을 사용하게 됩니다. 하지만 cpp 파일이 다수가 되면서, 한가지 헤더를 다수의 cpp 파일에서 중복 포함하게 될 경우가 발생할 수 있습니다. 이를 우리는 중복 정의 문제 라고도 부릅니다. 이런 형태는 컴파일 오류를 유발합니다. (현대 C++ 컴파일러들은 이를 방지하기 위한 내부 메커니즘이 존재합니다만, 당연히 애초에 이러한 오류들을 방지하는 것이 우선입니다.) 그렇게 하기 위해서, 두가지 전처리문을 사용하는 방법이 존재합니다. 1. #ifndef, #define, #endif #ifndef, #define,..
아시다시피 클래스에는 속성 attributes 와 메소드 methods 가 존재합니다. 이것들을 클래스 멤버 라고 부르는데요, 클래스 멤버들에 접근하기 위해서는 어떻게 해야 할까요? 바로 각 객체들의 이름 뒤에 dot operator(.) 를 사용합니다. 은행 계좌 관리용 Account 클래스를 통해 ricky_account라는 객체를 만들었습니다. 그리고 ricky_account.balance, ricky_account.deposit(double)으로 각각 속성과 메소드를 호출하였습니다. Account ricky_account; ricky_account.balance; ricky_account.deposit(1000.00); 그렇다면 동적으로 만들어진 객체에 대해서는 어떻게 할까요? 두가지 방법이 있습..
'객체 지향 프로그래밍 | Objecet Oriented Programming (OOP)' 이란 무엇일까요? 이를 더 잘 이해하기 위해서, 우리가 기존에 주로 사용하던 Procedural Programming, 절차적 프로그래밍을 우선 이해 해 봅시다. 절차적 프로그래밍 | Procedural Programming (PP) 절차적 프로그래밍의 핵심 포인트는 '함수' 입니다. PP 프로그램은 기본적으로 함수의 집합 입니다. 또한, 우리는 데이터를 개별적으로 선언합니다. 그리고 필요시에 해당 데이터들을 함수에 인자로써 전달하여 활용합니다. 필요한 용도에 맞춰 과정을 분석하고, 나누어서 함수를 선언하고 사용하는 방법이기에 이해하기 매우 직관적입니다. 하지만 절차적 프로그래밍에는 분명한 한계들이 존재합니다. 대..
Ricky U. Lee
'C++' 태그의 글 목록