상속 (Inheritance) 클래스를 다른 클래스에 물려주는 것 C++에서 상속은 객체 지향 프로그래밍(OOP)의 중요한 개념 중 하나이며, 그 개념은 크게 어렵지는 않다. 상속은 기존 클래스(부모 클래스 또는 기본 클래스)의 특성과 동작을 새로운 클래스(자식 클래스 또는 파생 클래스)에게 물려주는 메커니즘을 제공한다. 이를 통해 코드의 재사용성을 높이고 계층적인 구조를 형성하여 프로그램의 구성을 용이하게 만들 수 있다. 상속이 일어나면 접근 제어자에 따라 부모 클래스의 멤버들을 자식 클래스가 참조할 수 있게되고, 자식 클래스는 자신만의 멤버를 더 선언할 수 있다. 또한, 자식 클래스는 부모 클래스의 파생된 클래스가되어 자식 클래스가 부모 클래스에 포함되는 관계를 형성한다. 혹은 자식 클래스는 부모 클..
상수형 메서드 const 키워드를 통해 상수를 만드는 방법은 간단하다. int a와 같은 변수 선언 앞에 const를 붙이면 a 값이 상수로 선언되며 초기 값을 그대로 유지하고 다른 값을 새로 대입할 수 없게한다. (volatile 키워드나 직접 메모리 주소에 접근하여 변경할 수도 있긴하다.) 상수 매개변수 이런 const 키워드는 일반 메서드, 클래스 멤버 메서드, 생성자의 매개변수에 키워드로도 붙일 수도 있다. 이렇게하면 const 값으로 지정된 매개변수는 읽기 전용으로 선언되어 변경이 되지 않아야할 매개변수를 수정하는 실수를 하지 않게된다. const 매개변수 #include using namespace std; void processData(const int data) { data = 10; //..
생성자와 소멸자 객체의 시작과 끝 이번 챕터에서는 생성자와 소멸자에 대해 알아보려 한다. 들어가기 전 간단하게 생성자와 소멸자를 이해한다면, 생성자는 객체를 초기화하는 함수이며 소멸자는 객체의 메모리 해제를 하는 함수이다. 생성자 시작이 반, 초기화는 생활화 생성자는 클래스의 정적 바인딩 시, 선언과 동시에 실행되는 함수로, 오버라이딩으로 매개변수를 통해 외부의 값을 받아 클래스 내부에서 사용할 수 도 있고, 기본 생성자라는 암시적 멤버 함수를 통해 객체를 초기화할 수 있다. 모든 객체의 생성과 소멸은 해당 객체가 선언된 스코프 내에서 발생한다. 하여 전역 변수는 프로그램이 시작되면 생성자를 호출하고 프로그램이 끝나면 소멸자를 호출 한다. 생성자는 반드시 클래스 명칭을 따라야하며, 반환 값을 가지지 않는..
클래스 객체 지향의 시작 이번에는 클래스와 객체라는 개념을 알아보자. 클래스란 무엇인가? 클래스란 실체가 없고 정보만 담고 있는 코드 "정보만 담고 있다."라는 말이 무엇일까. 프로그래밍을 하다보면, 구조체 혹은 리스트, 배열과 같은 자료구조까지 특정 정보들을 모으는 컨테이너들을 접해보았을 것이다. 클래스도 개념은 크게 다르지 않다. 클래스는 멤버변수, 다형성, 정적 멤버 등 다양한 정보를 선언 및 저장할 수 있고 함수, 접근 제어, 상속, 생성자, 소멸자와 같은 기능을 제공할 수도 있다. 그런데 어디서 많이 들어본 이야기이지 않은가? 바로 구조체와 굉장히 유사한 점이 많다는 것이다. 구조체와 클래스 우선 구조체와 클래스를 비교해보자. (추가로 메모리 할당량까지☆) C++ 구조체 C++ 클래스 기본 접근..
- Total
- Today
- Yesterday
- const
- 크기
- 운영체제
- 할당
- 메모리
- 클래스
- 스레드
- 함수
- 구조
- 입출력
- 컴파일
- 게임수학
- New
- 인터럽트
- 알고리즘
- 상속
- 레지스터
- 수학
- CPU
- thread
- 포인터
- static_cast
- 멀티스레드
- 백준
- 프로세스
- malloc
- 명령어
- c++
- dynamic_cast
- 초기화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |