가장 일반적인 분류 방법 > 저수준 언어 💻 ⇠⇢ 👩💻 고수준 언어 > 컴퓨터와 사람, 무엇에 더 친화적인가에 따라 다음과 같이 나뉜다.
객체? 속성과 행동을 떠올릴 수 있다면 모두 객체! 객체 지향 프로그래밍은 프로그램을 여러 독립된 객체들과 그 객체들 간의 상호작용으로 파악하는 프로그래밍 접근법이다.
1. 추상화 Abstraction 2. 캡슐화 Encapsulation 3. 상속 Inheritance 4. 다형성 Polymorphism
Command Line Interface (CLI 환경) : 키보드로 입력하는 command를 통해 컴퓨터를 사용 / Unix Command : 기본 커맨드 & 유닉스 기반 운영체제의 명령어
운영체제 / 커널 / 프로세스 / 스레드
1. 파일 관련 명령어 2. 네트워크 관련 명령어 3. 시스템 설정 명령어 4. 기타(크론)
1. 동시성 vs 병렬성 2. 멀티스레드에서 주의해야 하는 것 (메모리 가시성, 공유자원, 데이터 레이스, 단일 연산, 연산 재배열) 3. 안정성 & 활동성 (재진입성, 데드락)