[C++ 이란?]
C++은 C에서 Class가 추가된 새로운 프로그래밍 언어이다.
C는 절차지향 언어이지만 C++은 객체지향 언어이다.
여기서 궁금한 점 2가지가 생긴다.
1. C++과 C#의 차이점은 무엇일까? 2. 객체지향프로그래밍은 무엇일까?
[C++과 C#의 차이점]
C++과 C#의 가장 큰 차이점은 메모리 관리에 있다. unity는 C#을 사용하지만 언리얼 외의 자체엔진들은 C++을 사용한다.
그 이유가 메모리 관리를 직접 할 수 있기 때문에 프로그램이 빠르게 돌아간다. 반대로 C#은 메모리 관리를 해주는 Garbage Collection이 존재하기 때문에 메모리 직접 관리할 수 없다.
[객체지향프로그래밍]
객체지향프로그래밍에서 객체란 Object, 즉 목적이 되는 대상이다. 객체는 자료와 기능을 묶어놓은 것을 말하는데 이 객체들을 찍어내는 틀이 Class이다. 이러한 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이 객체지향프로그래밍이다.
[객체지향프로그래밍의 특징]
객체지향프로그래밍은 특징 4가지가 존재한다.
1. 추상화 - 불필요한 세부 사항들은 제거하고 가장 본질적이고 공통적인 부분만을 추출하여 표현한다.
2. 다형성 - 같은 이름이지만 다른 기능을 수행할 수 있다.
3. 캡슐화 - 데이터를 외부로 부터 보호한다.
4. 상속 - 부모 클래스에 정의된 변수 및 메서드를 자식 클래스에서 상속받아 사용한다.
이렇게 자료구조와 알고리즘을 본격적으로 배우기 전 C++에 관해 기초를 알아보았다.
'C++ 자료구조' 카테고리의 다른 글
[c++] vector (0) | 2024.03.26 |
---|---|
[c++] 배열 (0) | 2024.03.25 |
[c++] 제어 구조와 함수 (0) | 2024.03.19 |
[c++] 문자열(string) (0) | 2024.03.12 |
[c++] c++의 기본 개념 (0) | 2024.03.05 |