3학년 1학기 전공/객체지향 프로그래밍
[객체지향프로그래밍] 1주차 정리
시데브
2024. 3. 6. 15:40
경희대학교 컴퓨터공학부 이대호 교수님의 객체지향프로그래밍 수업 자료를 참고한 정리본
Software
- software: 명령어 set
- 2진수 해독(디코딩), 2진수로 작성(인코딩)
- FORTRAN, COBLE, C, Python, Java, ...
Programming Languages
- Machine Language
- Low-level language
- 직접적으로 컴퓨터를 컨트롤 -> CPU, ALU(Arithmetic Logic Unit), Memory, ...
- Assembly Language
- Low-level language
- Symbolic language -> 기호화된 언어
- Assembler -> 기호화된 언어를 번역해주는 역할
- High-level Language
- Use natural language
- Compiler(C++), Interpreter(line-by-line, ex: python)
- C, C++, Python, Java, Fortran, ...
Development Tools
- Editors -> 코드 작성(source code)
- Compilers
- preprocessor(source code -> enhanced source code), linux -> windows 뭐 이런 느낌
- compiler(enhanced source code -> obj code)
- linker(obj codes, libraries -> 실행 파일)
- compile + link = Build
- Debuggers
- Checking coding errors
- Profilers
- Dynamic Program Analysis(memory, complexity)
위 4가지를 합친 프로그램 -> IDEs(Integrated Development Environments)
ex) VS, Xcode, ...

Modern C++
- Object-oriented Language(객체지향언어) + 절차지향 프로그래밍도 가능
- 1972 C -> 1982 C++ -> C++ 2.0 -> C++ 98 -> C++ 03
- C++ 11, C++ 14, C++ 17, C++ 20, C++ 23
Simple C++ Programming
- namespace -> named scope (큰 프로젝트에서 이름 충돌을 방지)
- using -> namespace를 생략 가능하게 함
- std::cout -> std의 operator <<
#include <iostream> //preprocessing directive(전처리문), iostream -> input, output stream
using namespace std;
int main() {
cout << "Programming" << endl;
return 0; //c++에서는 생략해도 자동으로 생성 (main에서만)
}
728x90
반응형