프로그래밍 언어/PHP

클래스와 객체

· 코딩마이데이

객체지향 프로그래밍은 절차적 프로그래밍에 비해 다음과 같은 장점이 있습니다.

  • 프로그램 실행이 빠릅니다.
  • 프로그램의 구조가 명확해서 유지 보수가 쉽습니다.
  • 코드가 간결해지고 개발 기간이 단축됩니다.

다음 예제를 통하여 객체지향 프로그래밍의 기본 구성인 객체, 속성, 메서드, 그리고 객체를 생성하는 틀인 클래스에 대해 알아봅시다.

<?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
?>

ex7-1.php의 실행 결과

 

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