객체 지향 프로그래밍(Object-Oriented Programming, OOP) 프로그램을 명령어 또는 함수의 목록으로 보는 전통적인 명령형 프로그래밍의 절차지향적 관점에서 벗어나 여러 개의 독립적 단위, 즉 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임 실세계의 실체(사물이나 개념)를 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작 프로그램 설계 철학 OOP의 모든 것은 "객체"로 그룹화 OOP의 4가지 주요 개념을 통해 재사용성을 얻을 수 있음 캡슐화(Encapsulation) 데이터와 기능을 하나의 단위로 묶는 것 ✔︎ 데이터(속성)와 기능(메서드)을 따로 정의하..