취업 전까지 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#으로 넘어갈 때 너무 어색했던 개념이다.
객체지향 프로그래밍 환경에서는 모든 것을 객체로 표현하고, 객체의 형식을 갖는 변수를 '인스턴스'라고 한다.
'C++ > 공부' 카테고리의 다른 글
[C++] '::' Scpe operator 스코프 범위 지정 연산자 (0) | 2024.09.03 |
---|---|
[C++] Reference(참조자), 데이터 동적 할당 new 개념 공부 (0) | 2024.08.16 |