Section 37.5: 명시적 타입 변환 (Explicit Casting)

만약 하나의 값이 다른 특정 타입에 해당한다는 사실을 알고 있다면, 해당 타입이 필요한 상황에 맞추어 값을 명시적으로 (explicitly) 타입 변환하여 사용할 수 있다.

object value = -1; int number = (int) value; Console.WriteLine(Math.Abs(number));

만약 위 예제에서 valueMath.Abs() 메소드에 직접 파라미터로 전달한다면, Math.Abs()object 를 파라미터로 받는 오버로드 (overload) 가 정의되어 있지 않기에 컴파일 오류가 발생할 것이다.

만약 value 가 실제로는 int 타입으로 변환될 수 없는 값인 경우, 위 예제 코드의 두번째 라인은 InvalidCastException 예외를 발생시킬 것이다.

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts