클래스 사용법 – 8.용어 정리

객체지향언어에 따라 같은 의미를 나타내는 용어가 서로 다르게 표현되기 때문에 혼돈을 방지하기 위해 여기에 정리하여 둡니다.

함수, 변수, 상수

PHP 변수 함수(또는 메소드)
스몰토크 인스턴스변수 메소드
자바 변수 필드 또는 멤버변수
(인스턴스변수, 클래스변수, 지역변수)
메소드
자바스크립트 속성(property) 메소드
C++ 데이터멤버 멤버함수

Zend 엔진 2.0부터 클래스 내에서만 사용하게 되는 상수를 정의할 수 있게 되었습니다. 따라서 데이터멤버에는 변수뿐만 아니라 상수도 포함됩니다. 이에 따라 멤버변수만을 가지고는 상수까지 포함할 수가 없게 되었네요. Zend 엔진 2.0 문서를 보면 상수와 변수를 모두 포함할 때 프로퍼티(property)라는 용어를 사용하고 있습니다.*

*PHP5에서 제공되는 property_exists() 함수를 통해 알 수 있듯이 프로퍼티(property)라는 의미는 클래스 상수(class constant)를 포함하지 않고 클래스 멤버 변수(class member variable)만을 지칭하며, 이러한 프로퍼티(property)의 의미는 PHP7 매뉴얼에서 클래스 멤버 변수(class member variable)를 프로퍼티(property)라고 한다고 명시적으로 정의하고 있습니다.

(PHP7 Manual의 ‘Classes and Objects > Properties‘ 내용 중) Class member variables are called properties. They may be referred to using other terms such as fields, but for the purposes of this reference properties will be used.

Zend 엔진 2.0이 지원하는 클래스 멤버를 정리하면 아래와 같습니다.

클래스 멤버 의미
상수 상수는 상수 값을 나타내는 클래스 멤버입니다.
변수 변수는 변수 값을 나타내는 클래스 멤버입니다.
생성자 인스턴스 생성자는 클래스의 인스턴스를 초기화하는 데 필요한 동작을 구현하는 멤버입니다.
소멸자 소멸자는 클래스의 인스턴스를 소멸시키는데 필요한 작동을 구현하는 멤버입니다.
메소드 메소드는 개체나 클래스에 의해 수행될 수 있는 계산이나 작업을 구현하는 멤버입니다.

< Zend 엔진 2.0이 지원하는 클래스 멤버 >

클래스 상속

기존의 클래스 확장된 클래스
용어 영문 용어 영문
기반클래스 base class 파생클래스 derived class
수퍼클래스 super class 서브클래스 sub class
부모클래스 parent class 자식클래스 child class

클래스, 객체, 인스턴스

클래스(class) 객체(object) 인스턴스(instance)
객체의 변수와 함수를 정의하는 템플릿 클래스를 실체화시킨 것으로 실제로 기억장소가 할당되어 사용됨 클래스에 정의된 특성을 가지게 되는 객체를 의미하며 일반적으로 객체와 동의어로 사용됨

답글 남기기