Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

닷넷! Ver 2.0~

.NET은 순식간(?)에 버전업 되었습니다. 이는 신기술의 탄생도 동반했습니다 .NET 2.0 , .NET 3.0, .NET 3.5 등 새로운 기능 및 확장된 기능에 대해 다룹니다

Nullable Type

작성자 : 박종명
최초 작성일 : 2008-05-13 (화요일)
최종 수정일 : 2008-05-13 (화요일)
조회 수 : 2482

닷넷 2.0 에 새롭게 추가된 Nullable 타입에 대해 알아보자.
 
닷넷의 데이터타입은 크게 참조(Reference) 타입과 값(Value) 타입으로 나눌수 있다. 이중 참조형식은 메모리 힙영역에 실제 데이터가 저장되고 스택영역의 특정 공간에 저장된 힙 영역의 주소값을 저장하여 그 값을 참조하는 형태를 취한다. 이런 참조타입은 null 참조, 즉 아무것도 참조하지 않는 것을 허용한다. 이런 형식을 nullable 형식이라 한다.
 
그러나 정수형과 같은 값타입은 null 값을 허용하지 않는다. 따라서 다음과 같은 코드는 컴파일 에러를 일으킨다.
 
int i = null;
 
그러나 닷넷 2.0에서는 Nullable 구조체를 제공하여 값타입에서도 null 값을 가질수 있도록 지원한다.
우선 코드를 보자.
 
int? i = null;
i = 1;
 
이렇게 하면 정수 i 는 null 로 초기화 될수 있으며 나중에 값을 대입할 수 있다. 이제 값타입도 nullable 형식이 될수
있는 것이다.
 
? 표현식은 축약된 형태로 완전한 구문은 다음과 같다.
 
Nullable<int> i = new Nullable<int>();
i = 1;
 
또는 생성시에 값을 지정할려면,  Nullable<int> i = new Nullable<int>(1);
 
Nullable 구조체 역시 2.0의 Generics 를 이용한다.
 
다음은 Nullable 구조체의 시그너처 이다.
public struct Nullable<T> where T : struct
 
Generics 의 where 제약조건에 struct 라 해서 값타입만을 형식 매개변수로 취할수 있도록 선언되어 있다. 
 

이름
비밀번호
홈페이지
IT <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요