반응형

클래스(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(); // 결과값 : 자동차가 달립니다.
반응형

+ Recent posts