객체지향 언어클래스와 객체를 기반으로 프로그래밍하는 방식, 다음과 같은 특성을 지님코드의 재사용성과 유지보수성을 높이기 위해 클래스와 객체 사용* 클래스(Class) : 데이터와 메소드의 집합, 특정 객체의 설계도 - 각각 객체는 특정 클래스의 인스턴스 1) 캡슐화(Encapsulation) : 데이터와 그 데이터를 처리하는 메소드를 하나로 묶는 것, 데이터 접근 제한 및 보호- 접근 제한자 : 접근에 제한을 설정 2) 추상화(Abstraction) : 어떤 대상을 구현할 때, 그 대상의 본질적인 특징을 정의하고, 이것에 기반하여 대상을 객체로 구현하는 것 3) 상속(Inheritance) : 한 클래스가 다른 클래스의 특성을 상속 받아 확장하는 것4) 다형성(Polymorphism) : 같은 ..