✨컴공주✨ [1052682] · MS 2021 (수정됨) · 쪽지

2024-05-27 20:24:13
조회수 455

컴공 일기245

게시글 주소: https://m.orbi.kr/00068202552

컴공 지망하는 분들을 위해서 짤막하게 오랜만에…


C언어에서 hello world!를 찍을 때 쓰는 문법은


printf(“Hello World!\n”);


C++에서 쓰는 문법은


std::cout << “Hello World!” << std::endl; 인데


이걸 조금 더 깊이 파 볼 필요가 있습니다.



C를 분석해보면, 개발자에게 막중한 짐을 지운 이미지.

이렇게 생각해보면 된다.


개발자야, Hello world를 출력하고 싶어? 그러면, 네가 잘 알아서

문법도 공부하고, printf의 양식을 공부해서, 올바른 형식을 지켜서 컴파일러한테 부탁해.

아니면 에러로 널 혼낼 거다? 


C에서 printf 함수는 말 그대로 개발자가 OS한테 “알아서 잘 부탁”하라고 요구한다는 거지요.



근데 C++은 맥락 자체가 달라. 개발자에게 짐을 지우려하지 않음


개발자 형, Hello world를 출력하겠다고? 그 namespace std에 보면, cout이라는 객체가 있거든요?

거기한테 부탁해봐요. 걔가 알아서 출력해줄 거예요. 뭐? 형 너무 바쁘신 인력이잖아요. OS에게 입출력하라는 명령을

왜 형이 직접 해요. Cout이라는 객체를 생성해놨어. 걔한테 부탁하면 빨라. 



C는 함수의 양식을 잘 지켜서 개발자가 직접 움직인 거지만, C++은 그냥 cout이라는 객체한테 “Hello World”라는

문자열(문자 데이터의 배열)을 넘겨준 것.


이 패러다임이 C와 C++을 갈라놓는 아주 중요한 요소랄까.


요약


C는 개발자 알아서 스스로 잘,

C++ 객체에게 부탁, 전공자를 위한 언어로는 encapsulation(캡슐화)

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.