클래스 기반 프로그래밍

클래스 기반 프로그래밍(class-based programming) 또는 더 일반적으로 클래스 지향(class-orientation)은 객체만을 통해 상속이 발생하는 대신 객체의 클래스 정의를 통해 상속이 발생하는 객체 지향 프로그래밍(OOP) 스타일이다(프로토타입 기반 프로그래밍 비교).

OOP의 가장 널리 사용되고 개발된 모델은 객체 기반 모델이 아닌 클래스 기반 모델이다. 이 모델에서 객체는 상태(예: 데이터), 동작(예: 프로시저 또는 방법) 및 ID(다른 모든 객체 중에서 고유한 존재)를 결합한 엔터티이다. 객체의 구조와 동작은 특정 유형의 모든 객체에 대한 정의 또는 청사진인 클래스에 의해 정의된다. 객체는 클래스를 기반으로 명시적으로 생성되어야 하며, 생성된 객체는 해당 클래스의 인스턴스로 간주된다. 객체는 메소드 포인터, 멤버 액세스 제어 및 클래스 계층 구조에서 클래스 인스턴스(즉, 클래스의 객체)를 찾는 암시적 데이터 멤버(런타임 상속 기능에 필수적)가 추가되어 구조와 유사하다.

캡슐화

편집

캡슐화는 사용자가 클래스의 불변성을 깨뜨리는 것을 방지한다. 이는 사용자 코드에 영향을 주지 않고 인터페이스에 노출되지 않은 측면에 대해 객체 클래스의 구현을 변경할 수 있기 때문에 유용한다. 캡슐화의 정의는 보안 문제보다는 관련 정보의 그룹화 및 패키징(응집성)에 중점을 둔다.

상속

편집

같이 보기

편집