목록PHP (39)
cgy12306
abstract는 클래스의 메소드를 하위 클래스가 반드시 override 하도록 하는 것이다. 부모의 클래스의 일부 기능을 하위 클래스가 구현하도록 강제할 수 있다. abstract function b()를 해주면 자식클래스는 반드시 function b() 메소드를 사용해야 한다. abstract를 사용하면 부모 클래스 앞에 abstract를 붙여야 한다. 헤더와 아티클과 푸터를 result에 담는 템플릿 메소드를 선언해주고 템플릿 메소드는 abstract로 강제해준다. 출처 : https://opentutorials.org/course/62/15777 abstract - 생활코딩 수업소개 abstract는 클래스의 메소드를 하위 클래스가 반드시 오버라이드 하도록 하는 것입니다. 이것을 통해서 부모 클래..
인터페이스는 서로 다른 시스템이 결합되는 접점을 의미한다. ConcreateClass는 ContractInterface에 정의되어 있는 메소드를 반드시 구현해야 한다고 규제한 클래스이다. 배열로 정의하고 리턴 값을 int으로 한다는 의미이다. 출처 : https://opentutorials.org/course/62/15773 Interface - 생활코딩 수업소개 인터페이스는 서로 다른 시스템이 결합되는 접점을 의미합니다. 이 때 서로 시스템이 잘 결합하기 위해서는 상호간에 엄격한 약속이 필요합니다. 프로그래밍에서의 인터페이스도 마찬가지입니다. 이 수업에서는 프로그래밍에서는 어떻게 인터페이스를 구현하는가를 알아보겠습니다. 수업 소개
상속금지는 부모 클래스를 자식 클래스가 덮어쓰기 하는 것(override)을 금지하는 것 final을 사용하면 상속금지를 할 수 있다. 메소드 앞에다가 final을 붙이는 것도 가능하다. 출처 : https://opentutorials.org/course/62/15767 상속 - 상속금지 (final) - 생활코딩 수업소개 경우에 따라서는 메소드나 클래스에 대해서 상속을 못하도록 금지해야 할 때가 있습니다. 이런 경우 final 키워드를 사용하면 됩니다. 내용추가 : 상속을 금지하는 것이 아니라 부모 클래스를 자식 클래스가 덮어쓰기하는 것(override)을 금지하는 것이 정확한 표현이겠네요. 혼란을 드려서 죄송합니다! 수업 코드
접근제어자 변수에 대해서 상속 관계에 있는 메소드에서는 접근할 수 있지만, 인스턴스를 통해서는 직접적으로 접근하는 것을 막고 싶을 때 protected를 사용하면 된다. 첫번째 오류는 private로 되어있어서 오류가 뜨고 두번째 오류는 자식은 부모의 private에 접근할 수 없어서 오류가 뜬다. protected는 인스턴스를 이용해서 접근한 것은 불가능하지만 자식클래스의 메소드를 이용해서 접근하는 것은 가능하게 한다. 출처 : https://opentutorials.org/course/62/15766 상속 - 접근제어자 protected - 생활코딩 수업소개 변수에 대해서 상속 관계에 있는 메소드에서는 접근할 수 있지만, 인스턴스를 통해서는 직접적으로 접근하는 것을 막고 싶을 때 protected를 ..
Override 부모 클래스와 똑 같은 이름의 메소드를 사용하고 싶을 때 부모와 같은 이름을 자식 메소드에 정의하면 된다. 그러면 부모 메소드를 덮어쓰는 효과가 생긴다. 만약 부모 메소드를 호출하고 싶다면 parent 키워드를 사용할 수 있다. $this->callMethod를 사용하면 자신을 호출하게 된다. parent::callMethod를 사용하게 되면 부모를 호출하게 된다. 출처 : https://opentutorials.org/course/62/15761 상속 - Override와 Parent - 생활코딩 수업소개 부모 클래스와 똑같은 이름의 메소드를 사용하고 싶을 때가 있습니다. 이런 경우 부모와 같은 이름을 자식 메소드에 정의하면 됩니다. 그럼 부모 메소드를 덮어쓰는 효과가 생깁니다. 만약 ..
Class Loading require_once는 다른 php파일의 함수를 사용할 수 있게 해준다. namespace 같은 이름의 클래스이지만 namespace를 이용해서 중복된 이름을 사용할 수 있다. 출처 : https://opentutorials.org/course/62/15752 클래스 로딩과 네임스페이스 (namespace) - 생활코딩 수업소개 여기서는 클래스의 정의부분과 사용부분을 분리해서 클래스를 쉽게 사용할 수 있도록 하는 방법에 대해서 알아봅니다. 수업 소개 autoloading namespace 코드 autoload/greeting/en/Hi.php
static은 함수 안에서 변수를 공유하는 개념이다. 함수 안에서 사용된 변수의 값이 유지된다. this->대신 self::를 사용한다. count의 변수는 Person에 소속된 클래스 변수이다. 함수에도 static을 해줄 수도 있다. 출처 : https://opentutorials.org/course/62/15753 클래스 맴버 만들기 (static) - 생활코딩 수업소개 지금까지는 인스턴스의 맴버를 만드는 방법을 살펴봤습니다. 맴버란 인스턴스에 소속된 속성(변수)과 메소드를 의미합니다. 이번 시간에는 클래스의 맴버를 만드는 방법을 알아봅니다. static이라는 키워드가 핵심 문법입니다. 수업 코드 name = $name; self opentutorials.org
상속(inheritance)는 중복된 코드를 제거할 수 있고, 재사용성을 높여주며, 가독성을 높여준다. 오리지널 객체를 Parent Object라 부르고 상속받아 새롭게 만들어진 객체를 Child Object라 부른다. Child Object는 복제된 객체지만 Parent Object는 그대로 둔 상태로 내용을 변경할 수 있어서 재사용성을 높여준다. Human의 클래스는 Animal의 클래스를 상속받아서 run이라는 메소드를 사용할 수 있다. 주석 처리된 부분의 코드를 여러 번 작성할 필요 없이 클래스를 새로 만들고 상속시켜 주면 코드가 간편해진다. 출처 : https://opentutorials.org/course/62/15751 상속 기본 (inheritance) - 생활코딩 수업소개 이번 시간에는 ..