객체 지향 프로그래밍(Object Oriented Programming) 객체 지향 언어 데이터 모델의 청사진(Class)를 사용해 코드 작성 데이터와 기능을 한 번에 묶어서 처리 가능 객체 지향 프로그래밍(OOP) 프로그램 설계 철학 재사용성을 얻을 수 있음 캡슐화(Encapsulation) 데이터와 기능을 하나로 묶는 것 느슨한 결합(Loose Coupling) : 코드가 상징하는 실제 모습과 닮게 결합. 은닉(Hiding) : 내부 데이터나 구현이 외부로 노출되지 않도록 만드는 것. 외부 객체에서 필요한 동작만 노출. 코드가 복잡하지 않으며 재사용성을 높일 수 있음. 상속(Inheritance) 기본 클래스(부모 클래스, base class)의 특징을 파생 클래스(자식 클래스, derived class)가 물려받는 것. 중복되는 속성과 메서드를 다시 구현할 필요 없이, 외에 필요한 속성과 메서드만 추가 가능. 불