파파비의 블로그

C#) 업그레이드 된 형변환 as is 예약어 본문

개발/c#

C#) 업그레이드 된 형변환 as is 예약어

N. Dave 2020. 4. 4. 09:40
반응형

형변환에 대해서 저번 글에 적어둔 내용을 보면

명시적 형변환을 할 경우, 잘 못 했을 경우 컴파일 단계가 아닌 런타임에서 에러를 발생할 수도 있다.

이것은 프로그래밍 과정에서 큰 비용을 가져온다.

 

그래서 그 해결책으로 나온 것이 as 라는 키워드이다.

 

as는 컴파일단계에서 에러를 발생시키나?

그것은 아니고,

 

as로 형변환을 할 경우, 성공하면 형변환된 객체가 반환되고

실패하면 null을 반환한다. 에러로 멈추는 것이 아니라서 처리만 잘 해준다면 더욱 효율적으로 처리가 가능하다.

 

그래서 

 

예를 들어 부모 class의 computer와 그의 자식 class notebook 이 있다고 가정하면

 

computer com = new computer();

notebook nt = com as notebook;

if(nt != null)

    //...

 

이렇게 코드를 짜게 되면 에러가 뜨지 않고 진행될 것이다.

 

반응형
Comments