day32

상은👸·2023년 11월 27일
0

뚜벅뚜벅 첫번째

목록 보기
26/26
post-thumbnail

자바 인터페이스 연습문제 조금 남은거 하고 이제 DB로 들어간다리~!

📖instanceof

if ( p instanceof CC) { //if절 각각따로본다! -> p가 CC출신이냐?
	( (CC)p ).m3();
}

if ( p instanceof DD) { //if절 각각따로본다! -> p가 DD출신이냐?
	( (DD)p ).m4();
}
GalaxyTab1 gt3 = new GalaxyTab1();
Callable ca2 = gt3; //gt3는 GalaxyTab1에 담겨져있음
	if (ca2 instanceof GalaxyTab1) { //ca2 에 지금 담겨져있는 애가 GalaxyTab 몸통을 가지고 있냐 GalaxyTab으로 강제 형변환이 가능한 녀석이냐
    //ca2가 GalaxyTab1출신이냐?
	
    }

BluetoothConnectable bt2 = gt3; 
		//gt3는 GalaxyTab1에 담겨져있음? 위에서 Callable에 담겨져있는 상태로 변한거 아닌가..X
		//ca2,bt2는 Q167에 담겨있는 gt3를 가리키고 있는것 -> gt3는 그냥 지 타입이 있는거지
	if (bt2 instanceof GalaxyTab1) { //bt2 에 지금 담겨져있는 애가 GalaxyTab 몸통을 가지고 있냐 GalaxyTab으로 강제 형변환이 가능한 녀석이냐
    //bt2가 GalaxyTab1출신이냐?
    
	}
static void action(Robot r) { //메인이 static이라서 static메소드만 쓸수있어!
						 //부모타입 객체가 DanceRobot,SingRobot,DrawRobot 담을수 있으니까!
			
	if (r instanceof DanceRobot) { //r을 DanceRobot으로 바꿀 수 있냐?/강제형변환도 가능하냐? (DanceRobot 몸통이냐?)
										   //r이 DanceRobot출신이냐?
		( (DanceRobot) r).dance(); //r이 부모클래스니까 자식클래스 메소드를 못가져다 쓰지 그래서 강제 형변환!
				//dance()메소드는 Robot에 없고 DanceRobot에만 있으니까
	}
			
	if (r instanceof SingRobot) { //r을 SingRobot으로 바꿀 수 있냐?/강제형변환도 가능하냐? (SingRobot 몸통이냐?)
										  //r이 SingRobot출신이냐?
		((SingRobot) r).sing();
	}
			
	if (r instanceof DrawRobot) { //r을 DrawRobot으로 바꿀 수 있냐?/강제형변환도 가능하냐? (DrawRobot 몸통이냐?)
										  //r이 DrawRobot출신이냐?
		((DrawRobot) r).draw();
	}
}

🖐p instanceof CC => p가 CC출신이냐? (몸통을 가지고 있냐?) 라고 생각하자......후......

profile
뒤죽박죽 벨로그

0개의 댓글

관련 채용 정보