IT/php12 2021-01-26-인터페이스 layout : post title : "인터페이스" category : PHP 추상 메소드(abstract method) 오버라이딩해야만 사용할 수 있는 메소드 abstract 접근제어자 function 메소드이름(); 추상 클래스(abstract class) 반드시 사용되어야 하는 메소드를 추상 클래스에 추상 메소드로 선언해 놓으면, 이 클래스를 상속받는 모든 클래스에서는 이 추상 메소드를 반드시 재정의해야 한다. abstract class AbstractClass // 추상 클래스 { abstract protected function move(); // 추상 메소드 abstract protected function stop(); public function start() // 공통 메소드 { ..... 2023. 2. 27. 2021-01-26-오버로딩 layout : post title : "오버로딩" category : PHP PHP에서는 다른 언어와는 달리 프로퍼티나 메소드를 동적으로 '생성한다'는 의미로 오버로딩을 사용 동적으로 생성된 멤버는 해당 클래스의 매직 메소드(magic method)를 통해 다양한 형태로 처리할 수 있다. 오버로딩되는 메소드는 반드시 public으로 정의해야 한다. 프로퍼티 오버로딩(property overloading) PHP에서는 접근 불가 프로퍼티(inaccessible property)를 오버로딩하기 위해 다음과 같은 매직 메소드를 구현해야 한다. 1. public void __set(string $name, mixed $value) 2. public mixed __get(string $name) 3. publi.. 2023. 2. 27. 2021-01-26-상수 layout : post title : "상수" category : PHP 상수 상수가 변수와 다른 점은 한 번 선언하면, 스크립트가 실행되는 동안 그 데이터를 변경하거나 해제(undefined) 불가능하다. 상수는 선언 이후의 스크립트 어디서라도 참조할 수 있다. define(상수이름, 상숫값, 대소문자구분여부) ex) define("PHP", "PHP 수업에 잘 오셨습니다! "); // 대소문자를 구분함.(기본 설정) echo PHP; // PHP 수업에 잘 오셨습니다! echo php; // php define("PHP", " PHP 수업에 잘 오셨습니다!", true); // 대소문자를 구분하지 않음. echo php; // PHP 수업에 잘 오셨습니다! echo Php; // PHP 수업에 잘 .. 2023. 2. 27. 2021-01-26-상속 layout : post title : "상속" category : PHP 자식(child) 클래스는 부모(parent) 클래스의 모든 public, protected 멤버를 상속 class B extends A { B 클래스만의 프로퍼티와 메소드; } 오버라이딩 이미 정의된 메소드를 같은 이름의 메소드로 다시 정의 class A { public $property = "class A"; public function showProperty() { echo $this->property." "; } } class B extends A // 클래스 A를 상속 받음. { public $property = "class B"; public function showProperty() // 클래스 A의 메소드를 오버라이.. 2023. 2. 27. 이전 1 2 3 다음