TIL 2024/7/18

Sung Joo Lee·2024년 7월 18일
0

아마 계획상 이번 달 내 안으로 예전에 들었던 (이해를 하지 못했던...) CPP 강의를 총 정리 해보려고 합니다.

본 강의는 아래 링크의 강의를 보고 정리 한 것입니다.

참고


https://www.youtube.com/watch?v=wcvSwA2MBqw&list=PLMcUoebWMS1nzhlx-NbD4KBGEP1UCUDF_&index=4


CPP 프로그램의 구조

이를 들어가기 전에 간단한 용어를 정리 해보자

  • 프로그래밍 언어 : 고수준의 소스 코드 작성하기 위한 문법

    • 텍스트 에디터 : .cpp 소스 코드 , .h 헤더 파일의 편집기
      • 흔히 말하는 VScode등..
  • 오브젝트 코드 : 컴퓨터가 실행 할 수 있는 코드

  • 컴파일러 : 소스코드오브젝트 코드로 변환하는 도구

  • 링커 : 오브젝트 코드실행 파일변환하는 도구

  • 테스트 & 디버깅 : 프로그램에 존재하는 오류를 찾고, 수정함

  • IDE ( Intergrated Development Environment)

    • 텍스트 에디터 + 컴파일러 + 링커 + (디버거)

빌드 프로세스

  • 링커는 오브젝트 코드와 우측의 라이브러리등을 묶어서 실행 프로그램을 만든다



아래의 예시 코드를 사용하여 VsStudio에서 확인해 보자

#include <iostream>

using namespace std;

int main()
{
	int favoriteNumber;
	
	cout << "Enter your favorite number between 1 and 100:";
	cin >> favoriteNumber;
	cout << "Amazing!! That's my favorite number too!" << endl;

	return 0; //Optional
	
}
  1. 위의 스크립트가 작성된 소스코드를 ‘ctrl + F7’을 눌러 오브젝트 파일로 바꾼다.

    1. F5를 누르면 모든 과정을 처음부터 다시 시작한다.
  2. VsStudio에서는 링킹이 따로 없기 때문에 “Build”를 눌러 컴파일과 링킹을 동시에 진행 할 수 있다.

    1. 가끔 ‘빌드한다’라고 말을 들을 수 있는데 이는 ‘실행 파일’을 만들자는 의미다.

(위와 같이 실행 파일이 생성된 것을 알 수 있다.)

입출력

#include <iostream>

using namespace std;

int main()
{
	int favoriteNumber;
	
	cout << "Enter your favorite number between 1 and 100:";
	cin >> favoriteNumber;
	cout << "Amazing!! That's my favorite number too!" << endl;

	return 0; //Optional
	
}

일단 여기서는 입출력을 할 때 cout, cin 과 << 기호를 사용하는 구나! 하고 넘어가구 이후에 ‘정확하게’ 설명 할 것이다.

(라고 나왔지만 내가 살짝 알아봤다 ㅎ)

입/출력 스트림 객체

왜 스트림을 객체로 설계했을까?

  • C++에서는 C와 다르게 스트림을 객체로 설계하여 OOP의 장점을 활용함
  • 입출력 작업을 보다 직관적이고 유연하게 수행 가능.
  • 이를 정확하게 설명하기 위해서는 ‘추상화’ , ‘캡슐화’ , ‘상속’ 및 ‘다형성’을 알아야 한다.
    • 이후 모든 개념을 정리한 후 한번에 설명 할 수 있을 것이다.

iostream

  • 표준 라이브러리에 속해있는 헤더 파일 iostream은 기본 입출력과 관련된 cout, cin , endl을 제공한다
  • 표준 라이브러리를 사용할 때는 std:: 를 붙여줘야 한다.

cout

  • Console Output의 약자로 “콘솔 출력”을 뜻한다.

cin

  • Console Input의 약자로 “콘솔 입력”을 뜻한다.
profile
개발로그

0개의 댓글