슈

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

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

/*

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건
+
제목 글쓴이 날짜 조회
16-06-03 조회 3,000
15-07-30 조회 3,398
15-06-08 조회 5,544
15-05-27 조회 4,403
15-01-08 조회 6,692
14-12-30 조회 5,424
14-10-10 조회 5,419
14-08-13 조회 6,330
14-08-11 조회 5,192
14-08-06 조회 6,524
14-03-19 조회 7,421
13-04-26 조회 9,582
12-12-15 조회 5,100
12-12-15 조회 7,334
12-12-11 조회 5,465
12-11-21 조회 5,999
12-10-11 조회 5,082
12-10-03 조회 4,776
12-09-20 조회 6,077
12-09-02 조회 4,254
12-08-29 조회 5,252
12-08-29 조회 4,138
12-08-24 조회 4,237
12-08-18 조회 4,468
12-08-17 조회 4,507
12-08-16 조회 3,762
12-08-06 조회 5,537
12-08-05 조회 4,828
12-08-03 조회 4,544
12-08-03 조회 4,686
12-07-29 조회 3,544
12-07-24 조회 4,130
12-07-22 조회 3,601
12-07-20 조회 4,355
12-07-19 조회 4,705
12-07-19 조회 3,937
12-07-19 조회 3,882
12-07-19 조회 5,548
12-07-19 조회 3,491
12-07-18 조회 5,174
12-07-15 조회 4,144
12-07-14 조회 3,824
12-07-12 조회 4,501
12-07-11 조회 3,774
12-07-11 조회 3,495
12-07-11 조회 3,462
12-07-10 조회 4,641
12-07-09 조회 3,395
12-07-09 조회 4,222
12-07-09 조회 4,636
12-07-08 조회 4,557
12-07-07 조회 5,478
12-07-06 조회 4,736
12-07-06 조회 4,006
12-07-06 조회 3,891
12-07-06 조회 3,818
12-07-02 조회 5,499
12-07-02 조회 4,198
12-06-29 조회 3,722
12-06-28 조회 4,347
12-06-26 조회 3,841
12-06-26 조회 4,962
12-06-21 조회 3,938
12-06-20 조회 4,641
12-06-20 조회 4,268
12-06-15 조회 4,625
12-06-15 조회 4,358
12-06-13 조회 7,376
12-06-05 조회 7,352
12-06-04 조회 3,932
12-06-03 조회 3,777
12-05-31 조회 3,779
12-05-28 조회 6,620
12-05-27 조회 3,852
12-05-25 조회 3,988
12-05-23 조회 4,400
12-05-21 조회 5,107
12-05-17 조회 4,047
12-05-17 조회 3,969
12-05-09 조회 4,041
12-05-07 조회 4,292
12-05-02 조회 4,486
12-05-01 조회 4,659
12-04-30 조회 3,406
12-04-30 조회 4,350
12-04-25 조회 4,437
12-04-25 조회 4,865
12-04-24 조회 3,830
12-04-24 조회 4,597
12-04-23 조회 3,601
12-04-20 조회 3,242
12-04-17 조회 5,430
12-04-16 조회 4,372
12-04-14 조회 3,654
12-04-14 조회 3,683
12-04-14 조회 3,735
12-04-13 조회 3,356
12-04-13 조회 4,541
12-04-13 조회 6,180
12-04-12 조회 3,345