클래스와 객체
객체지향 프로그래밍은 절차적 프로그래밍에 비해 다음과 같은 장점이 있습니다.
- 프로그램 실행이 빠릅니다.
- 프로그램의 구조가 명확해서 유지 보수가 쉽습니다.
- 코드가 간결해지고 개발 기간이 단축됩니다.
다음 예제를 통하여 객체지향 프로그래밍의 기본 구성인 객체, 속성, 메서드, 그리고 객체를 생성하는 틀인 클래스에 대해 알아봅시다.
<?php
class Person { // 02
public $name; // 03
public $age; // 04
public function intro() { // 05
echo "이름 : ".$this->name.", 나이 : ".$this->age;
} // 07
} // 08
// 객체 생성
$hong = new Person(); // 11
$hong->name = "홍길동"; // 13
$hong->age = 20; // 14
$hong->intro(); // 16
?>

02~08 Person 클래스를 정의합니다. 이 클래스는 $name과 $age 속성과 intro() 메서드로 구성됩니다.
03, 04 $name 속성과 $age 속성을 정의합니다. 여기서 public은 속성의 형을 나타냅니다. public 형은 해당 속성을 객체 내부와 외부에서 모두 사용할 수 있게 합니다.
05~07 intro() 메서드는 클래스의 속성 $name과 $age를 화면에 출력하는 역할을 합니다. 여기서 $this는 클래스 내부의 속성에 접근하기 위한 키워드로써 클래스(또는 객체) 자기 자신을 가리킵니다.
$this->name은 클래스 자신의 속성인 $name 값을 의미합니다. 같은 맥락에서 $this->age는 클래스 내부의 $age 속성 값을 나타냅니다.
11 Person 클래스로부터 새로운 객체 $hong을 생성합니다.
13 $hong->name은 $hong 객체의 $name 속성을 의미합니다. 13행은 $hong 객체의 $name 속성에 '홍길동'을 저장합니다.
14 $hong의 $age 속성에 20을 저장합니다.
16 $hong->intro()는 5행의 intro() 메소드를 호출합니다. 6행에 의해 실행 결과에 나타난 것과 같이 $hong 객체의 이름과 나이가 출력됩니다.
'프로그래밍 언어 > PHP' 카테고리의 다른 글
| 생성자와 소멸자 (0) | 2026.06.18 |
|---|---|
| 속성과 메서드 (0) | 2026.06.17 |
| 세션으로 로그아웃 처리하기 (0) | 2026.06.16 |
| 세션으로 로그인 처리하기 (0) | 2026.06.16 |
| 세션 해제하기 (0) | 2026.06.15 |