클래스 vs 객체
클래스
클래스는 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀
객체
클래스를 토대로 실체화한 것. 클래스라는 문서가 메모리 위에 올라감으로써 실체화 된 것임.
자동차를 예로 들었을 때, 클래스는 자동차 설계도 종이, 객체는 설계도 종이를 토대로 실체화한 움직이는 자동차를 말함. 클래스를 객체로 만드는 방법은 new 키워드 쓰기.
절차지향 vs 객체지향
절차지향
- 순차적으로 처리함.
- 대표적으로 C언어가 있음.
- 컴퓨터의 처리구조와 유사해 실행속도가 빠름.
- 유지보수가 어려움.
객체지향
- 데이터와 절차를 하나의 덩어리로 묶어서 생각하는 방식.
- 캡슐화 : 데이터와 알고리즘(코드)이 하나의 묶음으로 정리됨.
- 상속 : 이미 작성된 클래스를 이어받아 새로운 클래스를 생성하는 기법.
- 다형성 : 하나의 이름(방법)으로 많은 상황에 대처함.

항상 객체지향 언어만 사용하는 것은 아님. 상황에 따라 장단점이 있음.
함수 vs 메소드
함수
- 특정 작업을 수행하는 코드 조각.
- 독립된 기능을 수행.
- 함수 > 메소드
메소드 (클래스 함수)
- 클래스, 구조체, 열거형에 포함되어 있는 '함수'
- 객체에 수신된 메시지를 처리하는 방법
