
PHP 기본 문법 – 클래스와 객체 – 0 – 클래스 선언과 객체 생성
소제목: PHP에서의 클래스 선언과 객체 생성
안녕하세요! 오늘은 PHP의 기본 문법 중에서 클래스 선언과 객체 생성에 대해 알아보도록 하겠습니다. PHP는 객체지향 프로그래밍을 지원하는 언어로, 클래스와 객체를 사용하여 코드를 구조화하고 재사용성을 높일 수 있습니다. 이번 포스팅에서는 클래스의 선언 방법과 객체의 생성 방법에 대해 알아보겠습니다.
클래스 선언하기
PHP에서 클래스를 선언하기 위해서는 class
키워드를 사용합니다. 클래스는 속성과 메서드로 구성되며, 속성은 클래스의 상태를 나타내는 변수이고, 메서드는 클래스가 수행할 수 있는 동작을 정의한 함수입니다. 클래스 선언은 다음과 같은 구조를 가지고 있습니다.
class 클래스명 {
// 속성 선언
public $속성1;
private $속성2;
// 메서드 선언
public function 메서드1() {
// 메서드의 동작 정의
}
private function 메서드2() {
// 메서드의 동작 정의
}
}
예를 들어, “Person”이라는 클래스를 선언해보겠습니다. 이 클래스는 “name”이라는 공개 속성과 “sayHello”라는 공개 메서드를 가지고 있습니다.
class Person {
public $name;
public function sayHello() {
echo "안녕하세요, 저는 {$this->name}입니다.";
}
}
객체 생성하기
클래스를 선언한 후에는 해당 클래스의 객체를 생성할 수 있습니다. 객체는 클래스의 인스턴스로, 실제로 동작하는 개체입니다. 객체를 생성하기 위해서는 new
키워드를 사용합니다. 다음은 “Person” 클래스의 객체를 생성하는 예시입니다.
$person = new Person();
위 예시에서 $person
은 “Person” 클래스의 객체입니다. 이제 $person
객체를 사용하여 클래스의 속성에 접근하고 메서드를 호출할 수 있습니다.
예시
이제 한 가지 예시를 통해 클래스 선언과 객체 생성을 더 자세히 알아보겠습니다. 가상의 게임 캐릭터를 나타내는 “Character” 클래스를 만들어보겠습니다. 이 클래스는 캐릭터의 이름과 레벨을 속성으로 가지며, 캐릭터 정보를 출력하는 메서드를 가지고 있습니다.
class Character {
public $name;
public $level;
public function displayInfo() {
echo "캐릭터 이름: {$this->name}<br>";
echo "캐릭터 레벨: {$this->level}<br>";
}
}
위의 클래스를 사용하여 객체를 생성하고 캐릭터 정보를 출력해보겠습니다.
$character = new Character();
$character->name = "용사";
$character->level = 10;
$character->displayInfo();
실행 결과는 다음과 같이 출력됩니다.
캐릭터 이름: 용사
캐릭터 레벨: 10
주의해야 할 점
- 클래스명은 대문자로 시작해야 합니다. 이는 일종의 규칙이며, 가독성을 높이기 위한 관례입니다.
- 객체를 생성하기 전에 클래스를 먼저 선언해야 합니다. 그렇지 않으면 PHP에서 오류가 발생합니다.
- 속성과 메서드에 접근할 때는 화살표 연산자(->)를 사용합니다. 예를 들어,
$object->property
와 같이 접근합니다. - 클래스의 속성은 객체마다 독립적으로 유지됩니다. 즉, 객체의 속성 값을 변경해도 다른 객체에는 영향을 주지 않습니다.
- 객체의 속성에 접근할 때는
$this
키워드를 사용합니다.$this
는 현재 객체를 가리키는 참조로, 속성과 메서드에 접근할 때 사용됩니다.
이상으로 PHP의 클래스 선언과 객체 생성에 대해 알아보았습니다. 클래스는 코드를 구조화하고 관련 기능을 한 곳에 모아놓음으로써 유지보수성을 높이는 중요한 요소입니다. 객체지향 프로그래밍의 개념을 활용하여 코드를 작성하면 재사용성과 확장성을 향상시킬 수 있습니다. 앞으로 프로그래밍을 공부하는 여러분들에게 PHP의 클래스와 객체에 대한 이해가 큰 도움이 되기를 바랍니다.
감사합니다!
키워드: PHP, 기본 문법, 클래스와 객체, 클래스 선언과 객체 생성
주의해야 할 점 요약
- 클래스명은 대문자로 시작해야 합니다.
- 객체를 생성하기 전에 클래스를 먼저 선언해야 합니다.
- 속성과 메서드에 접근할 때는 화살표 연산자(->)를 사용합니다.
- 클래스의 속성은 객체마다 독립적으로 유지됩니다.
- 객체의 속성에 접근할 때는
$this
키워드를 사용합니다.