C#과 C++의 차이점
메모리 관리가 있다.
C#은 메모리를 자동으로 관리해 줘서 프로그래머가 메모리 관리에 신경을 덜 쓸 수 있다.
C++은 스마트 포인터를 이용해 반자동으로 메모리 관리를 한다.
그래서 C#은 프로그래머가 메모리를 따로 관리할 때 C++ 보다 복잡하다.
객체지향 프로그래밍
데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고 서로 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.
객체 지향 프로그램에는 4가지 특징이 있다.
- 추상화
객체들이 공통적으로 필요로 하는 속성이나 동작을 하나로 추출해 내는 작업
추상적인 개념에 의존하여 설계해야 유연함을 갖출 수 있다. 세부적인 사물들의 공통적인 특징을 파악한 후, 하나의 묶음으로 만들어내는 것이 추상화다.
2. 캡슐화
정보 은닉화를 통해 높은 응집도, 낮은 결합도를 유지할 수 있도록 설계하는 것이다.
상속
여러 객체들이 지닌 공통된 특성을 부각시켜 하나의 개념이나 법칙으로 성립하는 과정(일반화)이다.
다형성
서로 다른 클래스의 객체가 같은 동작 수행 명령을 받았을 때, 각자의 특성에 맞는 방식으로 동작하는 것이다.
상속과의 시너지가 엄청나고, 다형성 구현을 통해 코드 간결화, 유연함을 갖추게 해 준다. 또한 헐렁하게 프로그래밍하는 것이 가능하다.
'C++' 카테고리의 다른 글
<C++> 6. 배열과 벡터 (1) | 2024.03.26 |
---|---|
<C++> 5. 함수 (0) | 2024.03.25 |
<C++> 4. 제어구조 (0) | 2024.03.19 |
<C++> 3. 문자열 (0) | 2024.03.11 |
<C++> 2. 입출력 (0) | 2024.03.05 |