본문 바로가기

PHP/생활코딩38

6/1(4) 생활코딩 - PHP 기본수업 - abstract < PHP 完 > 37. abstract - 1. 소개 상속과 구현이라는 두 가지 기능을 하나의 클래스로 합칠 수 있을까? = abstract 37. abstract - 2. 형식 부모 클래스 앞에 abstract가 붙어 있고 그 안에 있는 메소드 b 앞에도 abstract가 붙어 있고 이 메소드를 정의할 것으로 예상되는 코드의 정의는 없고 메소드의 형태만이 존재한다면 이 클래스를 상속받는 자식 클래스들은 반드시 b라는 메소드를 구현해야 한다. 새로 코딩 앞에 abstract가 적힌 메소드는 자식이 반드시 구현하도록 강제했기 때문에 자기 자신은 구현한 것이 없어야 한다. 37. abstract - 3. 사례(1) 템플릿 메소드 패턴 디자인 패턴이란? 우리가 오랫동안 SW를 만들다 보면 그 SW를 만드는 과정에서 부딪히는 .. 2020. 6. 1.
6/1(3) 생활코딩 - PHP 기본수업 - Interface 36. Interface - 1. 소개 규제를 통한 자유 마지막 줄 뜻: 콘크리트(구체적인) 클래스는 컨트랙트(계약) 인터페이스에 정의되어 있는 메소드를 반드시 implement=구현해야 한다. 만약 그 메소드가 없다면 이 프로그램은 실행되지 않는다. 콘크리트 클래스를 만들건데, 얘가 꼭 프라미스 메소드를 갖도록 하고 싶다면, 컨트랙트 인터페이스를 정의하면 된다. 그리고 프라미스 메소드는 반드시 하나의 인자를 가져야 한다. extends가 아니고 implements이다. 실행시키면 호출한 적도 없는데 에러가 뜬다. $param은 반드시 배열로 해라. 리턴 값은 반드시 숫자로 해라. 복수의 인터페이스를 구현하게 할 수도 있다. cf) 상속은 1개 밖에 안 된다. 36. Interface - 2. 사례(1).. 2020. 6. 1.
6/1(2) 생활코딩 - PHP 기본수업 - 상속 35. 상속 - Override(재정의)와 Parent 상속으로 인해서 복잡성이 생겼다. (1) Override : 부모 자식 클래스 간의 관계에서 메소드를 어떻게 할 것인가라는 주제 ParentClass와 ChildCalss가 있다. ChildCalss는 ParentClass를 상속받고 있다. 이 때, ParentClass가 갖고 있지 않은 클래스를 추가하는 것은 그냥 일반적인 기능이고, 그거 말고 ParentClass가 이미 CallMethod라는 메소드를 갖고 있는데 ChildCalss에서 똑같은 이름의 다른 메소드를 사용하고 싶을 때, ParentClass가 갖고 있던 메소드를 ChildCalss에서 덮어쓰는 기법을 Override라고 한다. 그리고 그 때 우리가 살펴볼 새로운 키워드는 Paren.. 2020. 6. 1.
6/1 생활코딩 - PHP 기본 수업 - 컴포저 34. 컴포저 - 1. 소개 컴포저: 패키지 매니저라는 카테고리에 속하는 SW 34. 컴포저 - 2. 설치 https://getcomposer.org/ Composer A Dependency Manager for PHP Latest: 1.10.6 Getting Started Download Documentation Browse Packages Issues GitHub getcomposer.org C:\Bitnami\wampstack-7.4.6-1\php\php.exe Win+R -> cmd 실행 composer 엔터 쳤을 때 이런 화면이 뜨면 설치에 성공한 것이다. 34. 컴포저 - 3. 기본 사용법 컴포저는 어떤 프로젝트에 있어서 php 파트에 대한 관리자 역할을 한다. 프로젝트를 지배하는 SW. 특정.. 2020. 6. 1.
5/31(5) 생활코딩 * 오늘의 진도 PHP 클래스 로딩과 네임스페이스 (namespace) 33. 클래스 로딩과 네임스페이스 (namespace) 클래스 로딩 - 다른 파일에 있는 클래스를 로딩하는 방법 네임스페이스 = 패키지 - 클래스들을 그룹핑하는 수단 (분류의 끝판왕) 우리 수업의 목표는 Hi와 안녕을 출력하는 클래스를 만드는 것이다. 그리고 최종적으로는 en이라는 디렉토리에 Hi라는 클래스가 있고 ko라는 디렉토리에도 Hi라는 똑같은 이름을 갖고 있는 클래스가 있을 때 같은 이름을 가진 클래스가 어떻게 하나의 파일 안에 공존할 수 있는 지 살펴볼 것이다 . new Hi만 해도 hi가 출력될 것이다. ∵ 생성자(constructor)안에 hi가 있기 때문 우리는 클래스와 그 클래스를 사용하는 코드가 같은 파일에 있는 .. 2020. 5. 31.