본문 바로가기
PHP

[PHP] `->` 연산자 사용법

by teamnova 2024. 6. 20.
728x90


PHP는 객체 지향 프로그래밍을 지원하는 언어입니다. 객체 지향 프로그래밍의 핵심 요소 중 하나는 객체입니다. 객체는 클래스라는 청사진을 바탕으로 생성됩니다. `->` 연산자는 PHP에서 객체의 속성(property)이나 메서드(method)에 접근할 때 사용됩니다. 이 블로그 포스팅에서는 `->` 연산자의 사용법에 대해 알아보겠습니다.

class Person {
    public $name;
    public $age;

    public function greet() {
        echo "Hello, my name is " . $this->name;
    }
}




객체 생성 및 `->` 연산자 사용

위 클래스에서 객체를 생성하고 `->` 연산자를 사용하여 속성과 메서드에 접근해보겠습니다.

 

$person = new Person();
$person->name = "John";
$person->age = 30;

echo $person->name; // 출력: John
echo $person->age;  // 출력: 30

$person->greet(); // 출력: Hello, my name is John




1. 속성 접근

객체의 속성에 접근하거나 값을 설정할 때 `->` 연산자를 사용합니다.


$person->name = "Alice";
echo $person->name; // 출력: Alice




2. 메서드 호출

객체의 메서드를 호출할 때도 `->` 연산자를 사용합니다.


$person->greet(); // 출력: Hello, my name is Alice



 3. 배열과 객체의 혼합 사용

PHP에서 배열 안에 객체를 저장하고 `->` 연산자를 사용하여 해당 객체의 속성이나 메서드에 접근할 수 있습니다.


$people = [
    new Person(),
    new Person(),
];

$people[0]->name = "Bob";
$people[1]->name = "Charlie";

echo $people[0]->name; // 출력: Bob
echo $people[1]->name; // 출력: Charlie




예제: 간단한 블로그 시스템

간단한 블로그 시스템을 구현하여 `->` 연산자의 사용법을 더 자세히 알아보겠습니다.


class BlogPost {
    public $title;
    public $content;

    public function __construct($title, $content) {
        $this->title = $title;
        $this->content = $content;
    }

    public function display() {
        echo "<h2>" . $this->title . "</h2>";
        echo "<p>" . $this->content . "</p>";
    }
}

$post1 = new BlogPost("First Post", "This is the content of the first post.");
$post2 = new BlogPost("Second Post", "This is the content of the second post.");

$posts = [$post1, $post2];

foreach ($posts as $post) {
    $post->display();
}



위 예제에서는 `BlogPost` 클래스와 두 개의 객체를 생성한 후, 배열에 저장하고 각 객체의 `display` 메서드를 호출하여 게시물을 출력합니다.