반응형
클래스(Class)와 객체(Object)의 기본
1) 클래스(Class)란 무엇인가
- 클래스(Class)는 객체(Object)를 만들기 위한 설계도이다.
- 우리가 이해할 수 있는 사물로 대입해본다면 객체의 상태는 프로퍼티(property), 행동은 메서드(method)로 표현할 수 있다.
2) 클래스의 기본규칙
- class 다음 클래스명을 적고 클래스 전체를 중괄호로 묶는다
- 클래스의 내부에 프로퍼티와 메서드가 정의된다.
- 프로퍼티는 보통 클래스의 상단에 정의되지만 위치는 상관없다.
- 프로퍼티와 메서드가 정의될 때 private, public이라는 접근제어자가 붙어있는데 이것은 클래스 외부에서 접근이 가능한지를 나타낸다.
3) Naming Convention
- 클래스명은 대문자로 시작하며 여러 단어로 구성될 경우 언더바(_)를 사용하여 분리하고 각 단어의 첫 글자를 대문자로 사용한다.
ex) Car, Car_Custom
- 프로퍼티와 메서드는 소문자로 시작하고 여러 단어로 구성될 경우 붙여서 적으며 첫 단어를 제외한 단어를 대문자로 사용한다.
ex) $wheels, $carWeels
- 프로퍼디와 메서드가 private인 경우 첫자를 언더바(_)를 사용한다.
ex) private $_car;
- 관습적인 규칙이며 반드시 따라야 하는 것은 아니다.
4) 예제
// Car 클래스
class Car
{
// 프로퍼티(멤버변수)
public $wheels;
public $doors = 4;
protected $color = 4;
private $_size;
private $_company;
// 메서드
public function run() {
return "자동차가 달립니다.";
}
protected function stop() {
return "자동차가 멈춥니다.";
}
protected function turn() {
return "자동차가 회전합니다.";
}
}
// 클래스 Car라는 myCar 인스턴스 생성
$myCar = new Car();
// Car 클래스의 프로퍼티 사용
echo $myCar->doors; // 결과값 : 4
// Car 클래스의 메서드 사용
echo $myCar->run(); // 결과값 : 자동차가 달립니다.
반응형
'Web Programming > ----- PHP -----' 카테고리의 다른 글
[PHP] 객체지향 프로그래밍(OOP) (1) | 2024.12.13 |
---|---|
[PHP] CURL 통신 (0) | 2021.11.17 |
[PHP] explode - 특정 문자로 잘라 배열 만들기 (0) | 2021.10.18 |
[PHP] array_key_exists - 배열의 키 존재 확인 (0) | 2021.10.18 |