본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/Database & Web- WA4E

PHP Objects - Building Objects (Part 2)

1.

 

 

1-1. 객체에 대해서 생각할 때는 경계에 대해서 생각해야 한다. 객체는 반드시 경계선을 가질 수 밖에 없기 때문이다.

그렇기 때문에 자연스럽게 사용하던 변수들도 일종의 객체들이다. 변수들도 그들만의 개성을 가지는 경계를 가지기 때문이다.

 

 

1-2. 보라색, 이 슬라이드에서는 각각 척과 콜린이라는 어레이에 값을 넣어주었다.

 

1-3. 주황색, 그리고 get_person_name이라는 함수를 선언해 주어 어떤 동작을 실행하게 해주었다.

 

1-4. 그리하여 마지막 부분에 데이터 필드(보라색)과 메소드(주황색)이 만나서 또 다른 어떤 결과물을 만들어 냈다.

 

 

 

2.

 

 

2-1. 위에서 했던 과정을 반복하지 않기 위해서, 클래스를 만들어보자.

2-2. 클래스 Person(보라색)을 선언하고 각 변수들에 대해서 선언한다. public은 전역변수라는 의미이다.

2-4. 그리고 푸른색으로 get_name이라는 메소드를 선언하면 클래스는 완성된다.

 

2-5. 중간 이후에, Chuck이라는 새로운 인스턴스를 만들어 내기 위하여 new Person()이라는 코드를 사용하고

2-6. Chuck 인스턴스 안의 fullname이라는 변수 안에 "Chuck Serverance"라는 값을 할당한다. 나머지도 이와 동일하다.

 

2-7. 이후 chuck인스턴으 안의 겟메소드를 사용함으로써 위에 있던 것과 동일한 결과를 만들어낸다.

 

 

 

3.

 

 

3-1. 클래스 내의 아이템에 접근하는 두 가지의 연산자가 있다.

3-2. 하나는 정적인 아이템으로 일종의 상수이다. 이때는 ::를 사용한다.

 

3-3. 생성된 인스턴스의 아이템에 접근할 때에는 ->을 사용한다. 

 

 

4.

 

 

상수에 대해 접근하기 때문에 DateTime이라는 클래스에 ::을 붙인다.

 

 

새로운 객체 x, y, z 가 만들어졌다.

 

 

 

static item인 getLastErrors에 접근하기 위해서 클래스 DateTime에 ::을 사용한다. 초록색이 프린트 된 결과물이다.

 

z를 새로운 인스턴스로 생성하였고, z안의 메소도인 format을 가지고와서 출력한다.

 

 

 

__로 시작하는 메소드는 일종의 bookkeeping 시스템이라고 한다. 일종의 장부라고 하는데 아직 이해는 잘 못하겠다.