
객체는 노출 된 메소드를 통해 상태를 변경하고 해당 메소드와 통신합니다. 반대로 클래스는 수동적이며 메시지를 전달하지 않지만 객체를 만드는 데 사용됩니다. 클래스는 객체의 유사한 유형의 컬렉션이라고도합니다. 객체와 클래스 간의 실질적인 차이점은 아래의 비교 차트에도 나와 있습니다.
비교 차트
비교 근거 | 목적 | 수업 |
---|---|---|
정의 | 클래스의 인스턴스를 Object라고합니다. | 오브젝트가 작성되는 템플리트 또는 청사진을 클래스라고합니다. |
엔티티 유형 | 물리적 인 | 논리적 인 |
창조 | 새 키워드에 의해 개체가 호출되었습니다. | 클래스는 class 키워드를 사용하여 선언됩니다. |
메모리 할당 | 객체 생성은 메모리를 소비합니다. | 클래스의 형성은 메모리를 할당하지 않습니다. |
객체의 정의
객체 는 클래스의 인스턴스입니다. C ++의 객체는 사용자 정의 데이터 유형의 변수로 설명 될 수 있으며 인스턴스 변수라고도합니다. 각 객체에는 몇 가지 연관된 값 또는 특정 유형이 있습니다. 클래스 이름을 사용하여 객체가 호출됩니다.
예를 들어 대학은 수업이 될 수 있으며 대학의 교사가 대상이 될 수 있습니다. 위의 예에서 대학은 단지 대학의 일을 관리하는 계획 일 뿐이지 만 대학의 실무기구는 교사, 교장, 감독 및 다른 사람들이 학급 대학의 구성원 인 특정 지명을 가진 특정 사람들입니다 .
컴퓨터의 메모리는 클래스의 정확한 기능을 구현하는 객체를 저장하는 데 사용됩니다. 객체 사용의 이점은 새로운 사용자 정의 데이터 유형을 작성하는 기술을 제공한다는 것입니다.
객체를 이해하려면 클래스와 객체를 만들어야합니다.
#include using namespace std; class cube {int a; public : void 값 (int); int volume () {return (a * a * a); }}; void cube :: values (int x) {a = x; } int main () {큐브 c; c.values (10); cout << "큐브의 볼륨은"< "클래스의 정의
이 클래스 는 데이터 및 관련 함수를 함께 연결하는 데 사용됩니다. 필요한 경우 외부 사용으로부터 데이터 숨기기를 가능하게합니다. 클래스는 거의 모든 프로그래밍 언어에있는 다른 기본 제공 데이터 유형으로 제공되는 새로운 추상 데이터 유형으로 작동합니다.
예를 들어 C ++의 int 데이터 형식은 필요한만큼의 변수를 선언하는 데 사용할 수있는 기본 제공 데이터 형식입니다. 마찬가지로, 클래스는 클래스의 객체에 포함 된 데이터와 함수를 설명하는 청사진 또는 계획 역할을합니다. 클래스의 선언은 int 데이터 유형의 선언이 변수를 형성하지 않는 것처럼 객체를 호출하지 않습니다. 클래스는 객체를 선언하는 데 사용됩니다.
클래스 스펙은 클래스 선언과 클래스 함수 정의라는 두 부분으로 구성됩니다.
- 클래스 선언은 멤버의 범위와 유형을 지정합니다.
- 클래스 함수 정의는 클래스 함수의 구현을 지정합니다.
여기도 sphere라는 클래스를 생성 해 보겠습니다.
class cube {int side; public : void 값 (int); int volume (void); }개체와 클래스의 주요 차이점
- 클래스는 비슷한 종류의 객체의 컬렉션이지만 객체는 클래스의 인스턴스입니다.
- 객체는 특정 목적을 위해 프로그램에서 사용되는 물리적 개체라고합니다. 반면에 클래스는 데이터와 함수를 바인딩하는 데 사용되는 논리적 엔티티로 간주됩니다.
- 새 키워드를 사용하여 개체를 선언합니다. 반대로 클래스는 class 키워드를 사용하여 선언됩니다.
- 프로그램에서 클래스는 객체가 메모리를 할당하는 동안 저장 메모리를 소비하지 않습니다.
결론
객체는 클래스의 속성에 상태 또는 정보를 예약하고 인스턴스화시 호출 된 메소드와 함께 동작을 노출합니다. 데이터 캡슐화는 객체 개념을 사용하여 프로그래밍 할 때 구현됩니다. 반면에, 관련된 유형의 객체 그룹은 공통 속성 및 메소드를 공유하는 클래스로 알려져 있습니다. 정의 된 속성 및 클래스의 작업은 클래스 자체가 아니라 클래스의 객체를 대상으로합니다.