PHP/생활코딩38 5/31(3) 생활코딩 * 오늘의 진도 PHP 클래스 멤버 만들기 32. 클래스 멤버 만들기 static(정적인) 이 property와 method는 다른 말로는 instance variable, instance method라고 부를 수도 있다. 즉, 인스턴스 상태에 따라서 다르게 동작한다. 지금 입장한 사람이 몇 번째 입장한 사람인지를 뒤에 표시하고 싶다면, 인스턴스변수만으로는 할 수 없다. ∵ 각각의 인스턴스들($p1, p2..)은 내부적으로 상태(egoing, leezche..)를 가지고 있는데, 그 상태는 다른 인스턴스에게 공유되지 않기 때문이다. 예를 들면 여기 있는 $name이라는 변수 안에 담겨있는 값은 각각의 인스턴스 안에서만 접근이 가능하기 때문에 다른 인스턴스가 접근할 수 없다. 예를 들어서 private c.. 2020. 5. 31. 5/31 생활코딩 * 오늘의 진도 PHP 상속 기본 31. 상속 기본 - 소개 객체를 수정(메소드 추가/삭제 등)하고 싶은데 할 수 없는 경우 ex) Spl 라이브러리처럼 내가 만든 객체가 아닐 때 상속을 사용한다. 기반이 되는 오리지널 객체를 부모객체라고 하고 새롭게 만들어진 객체를 자식객체라고 한다. 부모객체가 갖고 있던 메소드를 상속이라는 기능을 통해서 자식객체가 그대로 물려받는다. 자식객체에 메소드를 추가할 수 있다. 31. 상속 기본 - 사례 Spl 라이브러리에는 파일을 핸들링하는 3개의 객체들이 있다. 이 3개의 객체들은 상속관계로 이루어져있다. 1번이 부모객체이고 1번을 상속받은 자식객체가 2번, 2번을 상속받은 자식객체가 3번이다. 1. 파일에 대한 정보를 알려주는 클래스 2번이 1번을 상속받았다고 적혀있다.. 2020. 5. 31. 5/30(3) 생활코딩 * 오늘의 진도 PHP 접근 제어자 (access modifier) 30. 접근 제어자 (access modifier) encapsulation (캡슐화) - 목표: 불필요한 정보를 감추는 것 객체 지향에서 encapsulation을 할 수 있도록 제공하는 기능 - 대표적인 것이 access modifier(접근 제어자)= property visibility이다. - 객체를 사용하는 입장에서 그 객체가 갖고 있는 인스턴스 변수/메소드에 사용하는 쪽에서 접근할 수 있게 할 것이냐 없게 할 것이냐를 결정하는 기능 이전에 작성했던 코드이다. 객체의 내부는 클래스 안에 들어있고, - 객체를 만드는 부분 - 객체 내부에 존재하는 인스턴스 변수나 메소드 등을 외부에 노출시킬 것인지, 내부적으로만 사용할 것이지를 결.. 2020. 5. 30. 5/30(2) 생활코딩 * 오늘의 진도 PHP 생성자 (인스턴스 초기화) 29. 생성자 (인스턴스 초기화) Constructor(생성자): 클래스를 기반으로 해서 인스턴스를 만드는 역할을 하는 것 여기서 SplFileObject()가 바로 생성자이다. 생성자를 통해서 앞에 new를 붙이면 인스턴스가 생성된다. 그런데 이 생성자를 통해서 인스턴스를 생성할 때, data.txt라는 상태를 객체에 주입했다. 즉, 객체를 만들 때 필수적인 상태를, 처음부터 주입하는 테크닉이다. 반대로 여기서는 인스턴스를 생성할 때 상태를 주입하지 않고, 생성한 후에 인스턴스 변수를 통해서 상태를 주입했다. 이 때의 문제는 상태를 주입하는 것을 잊어버릴 수도 있다는 것이다. 이 경우에도 생성자 차원에서 필수적으로 필요한 정보를 강제로 입력하는 방법을 .. 2020. 5. 30. 5/30 생활코딩 * 오늘의 진도 PHP 인스턴스 변수 만들기 28. 인스턴스 변수 만들기 이번 시간에 배울 것은 위 그림의 두 인스턴스가 각각 서로 다른 상태를 가져서 isFile이라는 메소드를 호출했을 때 서로 다른 파일에 대해서 그것이 파일인가 또는 존재하는가를 체크하도록 만드는 것이다. 1) 객체를 생성할 때 상태를 주는 것 - 나중에 공부 2) 인스턴스에 파일 이름 주입 $file이라고 하는 변수에 담겨있는 인스턴스에 filename이라고 하는 변수를 주입했다. 4행에 있던 data.txt를 $filename으로 바꾸면 잘 동작할까? filename이라는 변수가 정의되지 않았다는 에러가 뜬다. 이 filename이라는 변수는 is_file(isFile?)이라는 저 함수 안에서만 유효한 변수이다. $this->를 .. 2020. 5. 30. 이전 1 2 3 4 5 ··· 8 다음