추천, 2024

에디터의 선택

C ++에서 객체와 클래스의 차이점

클래스 는 데이터와 관련 함수를 함께 바인딩하는 데 사용되는 기술이며 반대로 Object 는 클래스의 작성된 인스턴스입니다. 객체와 클래스는 코드와 애플리케이션의 복잡성을 줄이기 위해 객체 형태로 데이터를 구성하는 객체 지향 프로그래밍에서 주로 사용되는 용어입니다.

객체는 노출 된 메소드를 통해 상태를 변경하고 해당 메소드와 통신합니다. 반대로 클래스는 수동적이며 메시지를 전달하지 않지만 객체를 만드는 데 사용됩니다. 클래스는 객체의 유사한 유형의 컬렉션이라고도합니다. 객체와 클래스 간의 실질적인 차이점은 아래의 비교 차트에도 나와 있습니다.

비교 차트

비교 근거목적수업
정의클래스의 인스턴스를 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); } 

개체와 클래스의 주요 차이점

  1. 클래스는 비슷한 종류의 객체의 컬렉션이지만 객체는 클래스의 인스턴스입니다.
  2. 객체는 특정 목적을 위해 프로그램에서 사용되는 물리적 개체라고합니다. 반면에 클래스는 데이터와 함수를 바인딩하는 데 사용되는 논리적 엔티티로 간주됩니다.
  3. 새 키워드를 사용하여 개체를 선언합니다. 반대로 클래스는 class 키워드를 사용하여 선언됩니다.
  4. 프로그램에서 클래스는 객체가 메모리를 할당하는 동안 저장 메모리를 소비하지 않습니다.

결론

객체는 클래스의 속성에 상태 또는 정보를 예약하고 인스턴스화시 호출 된 메소드와 함께 동작을 노출합니다. 데이터 캡슐화는 객체 개념을 사용하여 프로그래밍 할 때 구현됩니다. 반면에, 관련된 유형의 객체 그룹은 공통 속성 및 메소드를 공유하는 클래스로 알려져 있습니다. 정의 된 속성 및 클래스의 작업은 클래스 자체가 아니라 클래스의 객체를 대상으로합니다.

Top