[C++ 자료구조] 1강

마법의 민교·2024년 3월 6일

C++ 자료구조

목록 보기
1/1

"인간은 망각의 동물이다"
"사용한 지식만이 기억에 남는다"


C++ 너는 대체 뭐니?

C++은 기존 C언어의 기능을 추가하고 절차지향적 언어에
객체지향(OOP)를 도입하여 만든 언어이다.

  • 우리는 소개가 중요한게 아니라 넘어가도록 하자

절차지향(Procedural Programming)

절차 지향은 말 그대로 위에서 아래로 흐르듯이 순차적이게 진행하는 프로그래밍 기법이다

장점

  • 컴퓨터와 처리구조가 유사해 처리 속도가 굉장히 빠르다.

단점

  • 유지보수가 어렵다.
  • 디버깅이 어렵다.
  • 코드에 순서가 민감하기 때문에 순서를 바뀌면 결과값 도출이 어렵다.

지금 까지는 유사 맛보기로 이제 Deeep(?) 하게 가 보자

객체지향(Object-Oriented Programming)

C++ 의 꽃이라 불러도 과언이 아닐 만큼 C++을 대표하는 특징중 하나이다.

  • 객체 지향은 실제 세계를 모델로 프로그래밍을 한다 볼 수 있다.

객체란?

  • 사전적인 정의로 실제 존재하는 것.
  • 속성과 기능이 존재하는 프로그램 단위

객체를 톱니에 빗대 표현 할 수 있다. 톱니 각각의 객체를 서로 조립하여 무언가를 만드는 것이 객체 지향 프로그래밍이라 할 수 있다.
객체는 부품화재사용성의 특징을 띈다.

객체지향은 나중에 더 자세히 다뤄 보자


언매니지드 언어(Unmanaged Language)

메모리 할당과 해제를 직접 관리한다

  • 직접 메모리 할당과 해제를 하기 때문에 속도가 빠르다는 장점이 있다

C, C++은 C#과 다르게 언매니지드 언어로 C#은 가비지 컬렉터(Garbage collector)
라는 친구가 메모리를 자체적으로 할당과 해제를 해주며
사용자가 구체적인 메모리 관리를 할 수 없다.

하지만 그와 달리 언매니지드 언어는 메모리 할당과 해제를 통해
직접적인 메모리 관리를 할 수 있다.


정리

  • C++은 객체지향(OOP) 언어이다.
  • 절차지향(PP)은 순차적이게 진행되는 프로그래밍 기법이다.
  • 객체지향(OOP)은 톱니를 다루듯이 각각의 개체를 조립하여 무언가 만드는 프로그래밍 기법이다.
  • C++은 언매니지드 언어로 메모리 할당과 해제로 메모리 관리를 할 수 있다.

지금까지 간단하게 C++을 알아봤다 자세히 알아보고 싶으면 ???(아직 준비 못함)를 보도록 하자.

profile
I'm "possible"

2개의 댓글

comment-user-thumbnail
2024년 3월 6일

너무 잘 정리하셨네요

1개의 답글