본문 바로가기
C++/공부

[C++] C에서 C++으로, 이것이 C++이다

by 왹져박사 2023. 11. 21.
728x90

취업 전까지 C++을 개념이라도 공부해 보자!라는 생각으로 일단 빠르게 서점을 가 입문서를 구매하였다. 

여러 책을 둘러보다가 <이것이 C++이다>가 C를 배웠던 나에게 적합한 듯 보여 선택하게 되었다. 

 

사실, C#을 배우면서 객체지향 언어라는 것을 강제로 주입한 느낌이 컸는데, 

이 책의 1장에서 세탁소에 비유한 내용이 객체지향 언어를 확 와닿게 해 주었다.  

 

점점 다양한 언어를 배워가며 느끼지만, 언어를 새롭게 배울 때

새롭게 배우는 언어를 기존의 언어의 개념을 가져와 정확하게 번역하려 하면 오히려 힘들다고 생각한다. 

외국어를 배울 때도 각 언어만의 고유한 의미가 온전히 번역하기 어렵듯이, 컴퓨터 언어도 비슷하다고 느껴졌다. 

 

 

1장 C와는 다른 C++

 

1. 표준 헤더 파일들은 .h 확장명 생략

#include <iostream>	//C의 stdio.h와 같은 역할

 

2. 출력

std::cout << "Hello, World" << std::endl;
//std에 속한 cout 객체에 "Hello, World" 문자열과 endl 객체를 '넘겨(<<)'문자열을 화면에 출력하라

std  네임스페이스

::  '범위 지정 연산자' 혹은 '스코프 설정 연산자'

cout  콘솔 출력 담당 객체

<<  '연산자 함수'

endl  End of line, C의 '/n'

 

2. C는 절차지향 언어, C++은 객체 지향 언어이다. 

절차지향 언어는 절차상의 흐름 하나하나를 신경 씀

(함수의 사용 방법, 형식 문자, 이스케이프 시퀀스, 보안 문제 등 고려 필요)

 

객체지향 언어는 해당 전문 객체에게 맡김 (효율적)

 

3. 인스턴스

C#부터 익숙해진 개념이라 지금은 익숙하지만, C에서 C#으로 넘어갈 때 너무 어색했던 개념이다. 

객체지향 프로그래밍 환경에서는 모든 것을 객체로 표현하고, 객체의 형식을 갖는 변수를 '인스턴스'라고 한다. 

728x90