[Java] instanceof 연산자

Java/Java 2011.11.28 15:40
특정 객체가 비교하는 객체의 객체 상속도에 맞는지 확인하는 연산자
말은 어려운데 실제 보면은 간단하다.

public class AClass {
}

public class BClass extends AClass {
}

AClass aIns = new AClass();
BClass bIns = new BClass();

// 참
if ( aIns instanceof AClass ) {}

// 참
if ( bIns instanceof AClass ) {}

// 거짓
if ( aIns instanceof BClass ) {}

// 참
if ( bIns instanceof BClass ) {}

결국 검사할려는 인스턴스가 비교 객체의 자식 계통도에 포함되어 있으면 참이고
부모 계통도에 포함되어 있으면 거짓이다.
물론 상속계통도에 연관이 없는건 당연히 거짓이다.

'Java > Java' 카테고리의 다른 글

[Java] Java Dynamic method call  (0) 2012.02.09
[Java] map sort  (0) 2012.02.02
[Java] instanceof 연산자  (0) 2011.11.28
[Java] 날짜표시 YYMMDDHH24MI  (0) 2011.11.21
[Java] Java Annotation (어노테이션) 관련자료  (0) 2011.11.08
[Java] JDK와 JRE  (0) 2011.04.27
posted by 뚱2

MFC를 사용 할 때 전역적으로 사용할수 있는 API 앞머리에 Afx가 붙습니다.
그중 현재 프로그램의 Instance Handle을 구할수 있는 API입니다.

AfxGetInstanceHandle();

그런데 이걸 Winapi로 하면 어떻게 될까요?  우선 GetWindowLong API를 이용하면 해결됩니다.
// 원형
LONG GetWindowLong(          
    HWND hWnd,
    int nIndex
);

아래와 같이 호출해 주시면 됩니다.  hWnd는 호출하는 쪽의 윈도우 핸들 입니다.
GetWindowLong(hWnd, GWL_HINSTANCE);

posted by 뚱2