728x90
반응형
C++과 C 뿌리는 같지만 다른 두 언어,
C++과 C는 마치 형제와 같은 관계이다. 뿌리는 같지만, 각자의 개성과 강점을 가지고 있다.
1. C: 견고하고 효율적인 기초
- 절차 지향: C는 프로그램을 순차적인 절차에 따라 실행하는 방식을 따릅니다. 마치 요리 레시피처럼, 하나씩 단계를 밟아가며 결과를 만듭니다.
- 하드웨어 제어: C는 컴퓨터의 하드웨어를 직접 제어하는 데 뛰어납니다. 운영 체제, 임베디드 시스템 등 시스템 프로그래밍에 널리 사용된다..
- 간결하고 빠름: C는 군더더기 없는 코드로 빠르고 효율적인 프로그램을 만들 수 있다.
2. C++: 객체 지향의 프로그램
- 객체 지향: C++은 프로그램을 객체들의 집합으로 구성합니다. 각 객체는 데이터와 기능을 함께 가지고 있어, 마치 현실 세계의 사물처럼 생각하고 프로그램을 설계할 수 있습니다.
- 확장성: C++은 객체 지향 프로그래밍을 통해 코드의 재사용성과 유지 보수성을 높여준다. 큰 규모의 프로그램 개발에 유리합니다.
- 다양한 기능: C++은 C의 모든 기능을 포함하며, 객체 지향 프로그래밍 외에도 템플릿, 예외 처리 등 다양한 기능을 제공. 게임 개발, GUI 프로그래밍 등 다양한 분야에 활용
3. 핵심 차이점
- 객체 지향 vs 절차 지향: C++은 객체 지향 프로그래밍을 지원하여 복잡한 프로그램을 더욱 효율적으로 관리할 수 있습니다. C는 절차 지향 언어로, 간단하고 빠른 프로그램 개발에 적합합니다.
- 표준 라이브러리: C++은 C의 표준 라이브러리를 포함하며, 추가적인 기능을 제공하는 STL(Standard Template Library)을 제공합니다. STL은 다양한 자료 구조와 알고리즘을 쉽게 사용할 수 있도록 해줍니다.
- 입출력 방식: C는 printf, scanf 등의 함수를 사용하여 입출력을 처리합니다. C++은 cout, cin 등의 객체를 사용하여 더욱 직관적인 입출력을 지원합니다.
- 네임스페이스: C++은 네임스페이스를 통해 이름 충돌을 방지하고 코드를 더욱 체계적으로 관리할 수 있습니다.
4. C++은 C의 확장
C++은 C의 모든 기능을 포함하므로, C 코드는 대부분 C++ 컴파일러에서도 문제없이 컴파일됩니다. 하지만 C++의 추가적인 기능을 활용하려면 C++ 문법을 익혀야 한.
5. 어떤 언어를 선택해야 할까?
- 시스템 프로그래밍, 임베디드 시스템: C의 빠르고 효율적인 특징이 중요한 분야에서는 C를 선택하는 것이 좋다.
- 대규모 프로그램, 게임 개발, GUI 프로그래밍: 객체 지향 프로그래밍과 다양한 기능이 필요한 분야에서는 C++을 선택하는 것이 좋다.
C++ 기초 hello world 출력법
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}
코드 설명
- #include <iostream>: iostream 헤더 파일을 포함시킵니다. 이 파일은 C++에서 입력 및 출력 기능을 사용하기 위해 필요합니다.
- int main(): main 함수는 C++ 프로그램의 시작점입니다. 모든 C++ 프로그램은 main 함수에서 실행을 시작합니다. int는 main 함수가 정수 값을 반환해야 함을 의미합니다.
- std::cout << "Hello, world!" << std::endl;:
- std::cout: 표준 출력 스트림(standard output stream)을 나타내는 객체입니다. 일반적으로 콘솔 화면에 출력됩니다.
- <<: 출력 연산자(insertion operator)입니다. 오른쪽에 있는 데이터를 왼쪽에 있는 출력 스트림으로 보냅니다.
- "Hello, world!": 출력할 문자열입니다.
- std::endl: 줄 바꿈 문자(endline)를 출력 스트림으로 보냅니다.
- return 0;: main 함수가 정상적으로 종료되었음을 나타내는 0을 반환합니다
728x90
반응형