gtag('config', 'AW-370362561');
[제프리 리처의 CLR via C#] 타입 간 캐스팅하기
오진이 블로그
오늘도 진이
« 2025/06 »
일 |
월 |
화 |
수 |
목 |
금 |
토 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
|
|
|
|
관리 메뉴
오진이 블로그
[제프리 리처의 CLR via C#] 타입 간 캐스팅하기 본문
Development/C#
[제프리 리처의 CLR via C#] 타입 간 캐스팅하기
오늘도 진이
2021. 4. 7. 12:02
2부. 타입 설계
4장. 타입의 기초
타입 간 캐스팅하기
- CLR의 중요한 기능들 중 하나는 타입 안전성이다. 실행 시점에서 CLR은 객체의 정확한 타입이 무엇인지 항상 파악하고 있다.
- 타입 안정성은 CLR에서 다른 어떤 부분보다 중요하고 철저하게 지켜진다.
- C#의 is와 as 연산자로 캐스팅하기
- C# 언어에서 캐스팅 연산을 다루는 또 다른 방법은 is 연산자를 사용하는 것이다.
- C#의 is 연산자는 어떤 객체가 주어진 타입과의 호환성이 있는지 여부를 판정하여, 참 또는 거짓으로 결과를 반환하는 기능이 있다. 이 연산자는 절대 예외를 발생시키지 않는다.
- CLR의 타입 검사는 보안을 강화하지만, 성능에 관한 일정한 비용이 발생하는데, 비용이 발생하는 원인은 CLR이 변수에 들어있는 객체의 실제 타입을 파악하기 위하여 상속 관계를 탐색하면서 각 기본 타입들을 조사해야 하기 때문이다.
- is 연산자 프로그래밍 패러다임이 일반적이기는 하지만, C#은 이러한 작업을 단순화하고 성능을 개선할 수 있도록 하기 위하여 as 연산자를 제공한다.
- as 연산자는 예외를 전혀 발생시키지 않으면서 캐스팅을 수행하며, 객체를 캐스팅할 수 없는 경우 null을 반환하게 된다.
Uploaded by Notion2Tistory v1.1.0