Live Brilliant

PHP 클래스 개념잡기 본문

개발은 핵찜이야/PHP

PHP 클래스 개념잡기

주인정 2012. 4. 13. 15:55

간단히 작성해본 인간 Class
<?
class Human { //인간 클래스를 정의 합니다.

var $Name;
var $Age;
var $Height;
var $Weight;

function Eat ( ) { 먹는 행위를 함수로 정의 }
function Walk ( ) { 걷는 행위를 함수로 정의 }
function Work ( ) { 일하는 행위를 함수로 정의 }
function Talk ( $words ) { 말하는 행위를 함수로 정의 }
}

$철수 = new Human; //인간 클래스를 이용해 철수 객체를 생성
$철수->Eat(); // 철수야!! 밥먹어라~!
$철수->Talk($철수->Age); // 철수야~ 몇살이야? 말해봐!!
?>
class Human { // 클래스를 만들기 위해선 클래스를 우선 선언해 주어야 합니다. 그게 바로 class Human 이라는 것입니다.
// 아래에 나와있는 변수는 Human class 에서만 사용됩니다.
var $Name;
var $Age;
var $Height;
var $Weight;
// 아래 4개 함수도 Human 클래스를 통해서만 사용할 수 있습니다.
function Eat ( ) { 먹는 행위를 함수로 정의 }
function Walk ( ) { 걷는 행위를 함수로 정의 }
function Work ( ) { 일하는 행위를 함수로 정의 }
function Talk ( $words ) { 말하는 행위를 함수로 정의 }
}

$철수 = new Human; // Human 클래스를 객체화 하기 위해선 new 를 사용합니다. class Human 을 했다고해서 바로 Human 클래스를 사용할 수 있는 건 아니죠...new 를 하기 전에는 Human 은 아직 태어나지 않은 겁니다...^^

$철수 = new Human ; 을 통해서 Human 클래스는 $철수 로 태어나게 된 것입니다...실제로 존재한다는 얘기죠...이제부터는 Human 에서 정의한 변수(Name, Age, Height, Weight) 와 함수(Eat, Walk, Work, Talk) 을 사용할 수 있게 된 것입니다.

// 이젠 사용해 봐야죠...

그런데, Eat() 라는 함수를 사용하려고 하는데, 도대체 이누마가 어디에 있느냐 하는거죠...

바로 Human 클래스에 있습니다.

근데, Human 클래스가 누구를 통해서 태어났죠?

$철수 를 통해서 태어났죠?

그래서 Eat() 는 $철수 가 가지고 있다는 뜻으로 아래처럼 사용합니다.

$철수->Eat(); // 이제 비로소 Human 에 있는 Eat() 가 실행되게 됩니다...
$철수->Talk($철수->Age); // 여기서는 변수와 함수를 동시에 사용했군요...

변수도 마찬가지입니다...Age 라는 변수가 Human 클래스 말고, 다른 곳에서도 정의할 수 있겠죠?
하지만, $철수->Age 라고 한다면, Human 클래스의 Age 라는 걸 한 번에 알 수 있습니다.

'개발은 핵찜이야 > PHP' 카테고리의 다른 글

IP접속 위치 정보 가져오기  (0) 2012.04.13
php 재귀함수  (0) 2012.04.13
php 엑셀파일 생성시 숫자->텍스트로 생성  (0) 2012.04.13
PHP 메뉴얼  (0) 2012.04.12
오라클 + php  (0) 2012.04.12
Comments