클래스 대 객체

객체 지향 프로그래밍에서 class 는 속성 및 메서드 모음을 정의하는 구문입니다. 템플릿으로 생각할 수 있습니다. 예를 들어

 클래스 아이템 {public $ itemType; / * 예 : "도서"또는 "CD"* / public $ price; public function printPrice () {echo "이 {$ this-> itemType}의 가격은 {$ this-> price} 달러입니다."; }} $ catch22 = 새 항목 (); $ catch22-> itemType = "도서"; $ catch22-> 가격 = 25; $ catch22-> printPrice (); / * outputs이 책의 가격은 25 달러입니다. * / $ americanPrayer = 새로운 아이템 (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> 가격 = 22; $ americanPrayer-> printPrice (); / * outputs이 CD의 가격은 22 달러입니다 * / 

이 예에서 $ catch22 및 $ americanPrayer는 2 개의 개체입니다. 객체는 클래스의 인스턴스입니다. 클래스가 정의한 공통 구조를 공유합니다. 이 공통 구조는 클래스의 속성 (위 예제에서 $ itemType 및 $ price)과 메서드 (위 예제에서 함수, printPrice ())로 구성됩니다. 그러나 다른 개체의 속성이 다를 수 있습니다.

위의 예에서 가격과 품목 유형은 같은 클래스의 두 개체에 대해 다릅니다. 그러나 두 객체 모두 printPrice () 메서드, price 속성 및 itemType 속성을 사용할 수 있습니다.

비교 차트

클래스 대 객체 비교 차트
수업 목적
정의클래스는 데이터 멤버 및 연관된 메소드를 단일 단위로 바인딩하는 메커니즘입니다.클래스의 인스턴스 또는 클래스의 변수
존재논리적 존재실존
메모리 할당메모리 공간은 생성 될 때 할당되지 않습니다.메모리 공간은 생성 될 때 할당됩니다.
선언 / 정의정의가 한 번 생성됩니다.필요에 따라 여러 번 생성됩니다.

특수한 상황들

파이썬과 같은 일부 프로그래밍 언어에서는 모든 것이 객체입니다. 이것은 함수, 변수, 클래스의 인스턴스 및 실제 클래스조차도 프로그래밍 언어에 의해 객체로 취급됨을 의미합니다.

관련 기사