슈

[클래스] instanceof 인스턴스 확인

· 2014-09-21 (일) 00:02:01 · 3993

/*

action메서드의 매개변수가 Robot타입이므로 Robot클래스의 자손클래스인

DanceRobot, SingRobot, DrawRobot의 인스턴스는 모두 매개변수로 가능하다

 

action메서드 내에서는 실제로 받아온 인스턴스가 어떤 것인지 알 수 없다. 

단지 Robot클래스 또는 그 자손클래스의 인스턴스일 것이라는 것만 알 수 있다. 

그래서 instanceof연산자를 이용해야만 실제 인스턴스의 타입을 확인할 수 있다. 

*/

 

class Robot {}

 

class DanceRobot extends Robot {

function dance() {

echo '춤을 춥니다.';

}

}

 

class SingRobot extends Robot {

function sing() {

echo '노래를 합니다.';

}

}

 

class DrawRobot extends Robot {

function draw() {

echo '그림을 그립니다.';

}

}

 

function action(Robot $r) {

if ($r instanceof DanceRobot) {

$r->dance();

} else if ($r instanceof SingRobot) {

$r->sing();

} else if ($r instanceof DrawRobot) {

$r->draw();

}

}

 

$arr = array( new DanceRobot(), new SingRobot(), new DrawRobot());

 

for($i=0; $i< count($arr); $i++) {

action($arr[$i]);

} 

|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
14-10-25 조회 5,173
14-10-25 조회 6,356
14-10-25 조회 3,778
14-10-25 조회 3,931
14-10-24 조회 3,894
14-10-23 조회 4,505
14-10-22 조회 3,652
14-10-22 조회 4,317
14-10-22 조회 7,173
14-10-22 조회 4,876
14-10-22 조회 4,829
14-10-22 조회 8,983
14-10-19 조회 4,733
14-10-18 조회 5,698
14-10-17 조회 5,209
14-10-17 조회 4,005
14-10-17 조회 6,077
14-10-17 조회 5,455
14-10-17 조회 8,993
14-10-17 조회 6,474
14-10-17 조회 4,762
14-10-17 조회 5,085
14-10-14 조회 3,335
14-10-14 조회 4,240
14-10-13 조회 3,797
14-10-13 조회 6,466
14-10-13 조회 4,396
14-10-13 조회 4,294
14-10-13 조회 4,494
14-10-11 조회 6,663
14-10-11 조회 6,573
14-10-11 조회 6,460
14-10-10 조회 3,965
14-10-10 조회 6,424
14-10-10 조회 5,701
14-10-10 조회 6,270
14-10-10 조회 3,518
14-10-10 조회 5,443
14-10-10 조회 5,438
14-10-10 조회 5,525
14-10-10 조회 4,446
14-10-10 조회 4,943
14-10-10 조회 4,244
14-10-10 조회 4,097
14-10-08 조회 4,599
14-10-08 조회 3,712
14-10-08 조회 6,951
14-10-07 조회 6,173
14-10-07 조회 4,480
14-10-07 조회 5,511
14-10-07 조회 3,711
14-10-07 조회 4,698
14-10-07 조회 6,371
14-10-06 조회 6,722
14-10-06 조회 7,509
14-10-05 조회 3,715
14-10-04 조회 4,966
14-10-03 조회 6,304
14-10-02 조회 3,898
14-09-29 조회 4,092
14-09-29 조회 4,538
14-09-28 조회 3,852
14-09-27 조회 5,207
14-09-27 조회 4,661
14-09-26 조회 6,736
14-09-26 조회 5,170
14-09-25 조회 7,515
14-09-25 조회 4,035
14-09-25 조회 4,039
14-09-24 조회 4,844
14-09-24 조회 4,801
14-09-24 조회 4,293
14-09-24 조회 3,859
14-09-24 조회 4,471
14-09-24 조회 3,941
14-09-23 조회 4,118
14-09-23 조회 4,239
14-09-23 조회 4,005
14-09-22 조회 3,881
14-09-22 조회 4,799
14-09-22 조회 4,919
14-09-22 조회 6,144
14-09-22 조회 4,109
14-09-22 조회 3,789
14-09-22 조회 3,850
14-09-21 조회 5,788
14-09-21 조회 4,553
14-09-21 조회 4,411
14-09-21 조회 3,901
14-09-21 조회 4,428
14-09-21 조회 4,319
14-09-21 조회 3,994
14-09-20 조회 3,971
14-09-20 조회 3,897
14-09-20 조회 3,805
14-09-20 조회 4,509
14-09-20 조회 3,979
14-09-19 조회 3,909
14-09-19 조회 4,066
14-09-19 조회 4,245