php 객체지향 프로그램 - 접근제한자, $this

최준호·2023년 4월 7일
0
post-custom-banner

접근제한자

  • public - 속성 또는 메소드는 어디에서나 액세스 할 수 있습니다. 이것은 기본 값.

  • protected - 속성 또는 메소드는 클래스 내에서 그리고 해당 클래스에서 파생된 클래스에서 액세스 할 수 있습니다.

  • private - 속성 또는 메소드는 클래스 내에서만 액세스 할 수 있습니다.


의사 변수 $this

PHP에서 $this는 다른 프로그래밍 언어들처럼 클래스의 메소드 내에서만 사용할 수 있는 의사 변수입니다.

의사 변수 $this의 의미는 현재 자기 자신을 나타내는 표현으로, 화살표 지시자(->)를 사용함으로써 자신이 속해있는 인스턴스 내의 속성이나 메소드에 액세스할 수 있게 됩니다.

인스턴스명>속성명="속성값";인스턴스 명 -> 속성명 = "속성값";인스턴스 명 -> 속성명;
$인스턴스 명 -> 메소드명();

<?php

class fruit
{
	public $name; // 속성
	public $color;

	function set_fruit(string $name, string $color) 		// 메소드에 매개변수로 문자유형의 값만 받음
	{
		$this->name = $name;
		// 03번쨰 줄 속성 $name에 값을 할당합니다.
		$this->color = $color;
		// 04번쨰 줄 속성 $color에 값을 할당합니다.
	}

	function get_fruit() : string // 메소드의 반환 유형으로 문자유형을 지정
	{
		$string = "이 과일은 {$this->name} 입니다. 
		색깔은 {$this->color}";

		return $string; // 변수 $string을 리턴.
	}

}

$apple = new fruit();
$apple->set_fruit(name: '길동', color: '노랑');
echo $apple->get_fruit(). "<br/>";

echo $apple->set_fruit('나미', '빨강');
echo $apple->get_fruit();

  • __contruct 생성자

PHP에서 생성자 작성이 다른 언어와 다르다. ㅁㅁ

<?php
class Example
{
	protected $name;

	public function __construct()
	{
		$this->name = "인간미";
		echo $this->name;
	}
}

new Example();

profile
변화를 두려워하는 사람이 가장 불행한 사람이다.
post-custom-banner

0개의 댓글