
객체는 여러 값을 저장할 수 있기 때문에 복합 데이터 타입의 한 예다. 객체를 담는 변수도 다른 변수들과 같이 이름을 지정할 수 있다.
객체를 생성하기 위해 클래스라고 불리는 템플릿을 사용한다. 클래스 정의는 객체 타입이 갖는 속성명과 메서드를 지정한다.
클래스 정의는 다음을 설정한다.
- 객체 타입에 대해 저장해야 하는 데이터를 설명하는 속성명
- 해당 객체 타입이 수행할 수 있는 작업을 정의하는 메서드
클래스를 사용하여 객체를 생성할 때마다
- 속성에 대한 값을 제공한다(이 값은 이 객체를 다음 객체와 다르게 만든다).
- 객체는 클래스에 정의된 모든 메서드를 자동으로 갖는다.
클래스를 사용하여 생성된 각 개별 객체는 해당 클래스의 인스턴스라고 한다.
클래스 정의를 생성할 때, 객체가 갖게 될 속성과 메서드는 중괄호 안에 담긴다.
클래스 정의는 다음을 사용한다.
- class 키워드
- 생성하는 객체 타입을 설명하는 이름. 이름은 단어의 첫 글자마다 대문자로 시작하는 카멜 케이스(UpperCamelCase)를 사용해야 한다(밑줄을 사용하지 않는다).
- 코드 블록을 생성하기 위한 한 쌍의 중괄호. 중괄호는 클래스의 시작과 끝을 보여주며, 새로운 줄에 둬야 한다.
- 노트: 클래스 정의를 끝내는 중괄호 다음에 세미콜론을 쓰지 않는다.
객체를 생성하려면, new 키워드 다음에 클래스명과 한 쌍의 괄호를 사용한다.
객체를 생성하기 위해 다음을 사용한다.
- new 키워드
- 객체의 템플릿이 될 클래스 이름
- 괄호. 괄호에는 매개변수 이름이 포함될 수 있다(함수에서 괄호 안에 매개변수가 있는 것처럼). 이것은 객체가 생성될 때 객체에 데이터를 전달한다.
객체에 대한 참조체는 주로 변수에 저장되어 PHP 페이지의 나머지 다른 코드에서 사용될 수 있다. 이렇게 하기 위해서는 다음과 같이 한다.
- 객체를 담을 변수를 생성한다.
- 할당 연산자 = 추가
- 객체 생성
ex)$account = new Account();
출처 - 존 두켓, <백엔드 프로그래밍을 위한 PHP & MySQL>, Jpub, 2022