C++ 동일하게 사용 되는 키워드는 생략 한다.
abstract
순수 가상 함수에 사용되는 키워드 이다. 순수 가상 함수를 포함하는 클래스에도 사용 해야 한다.
override
부모 클래스에서 virtual, abstract로 선언된 메소드, 속성 이벤트등을 구현화(Implement) 할 때 사용 해야 한다.
% 오버라이딩시 생략해도 되는 경우도 있으나, 빌드 오류가 날 수도 있다. (abstract 사용한 메소드 등)
as
호환 가능한 참조 형식으로 변환(casting) 한다. 변환 불가능 할 경우 null 를 반환 한다.
base
부모 클래스를 지칭한다. 부모 클래스의 멤버에 접근할 때 사용 된다.
checked
정수 계열 형식의 대입, 연산, 변환 등의 작업시 명시적으로 검사를 한다.
반대로 변수 범위 외의 값을 대입 하려고 할때 빌드 오류를 피하려면 unchecked 를 사용한다.
deleate
함수를 정의 해서 참조 가능 하다. boost::function 과 유사 하다.
event
사용자 정의 이벤트를 선언한다. CALLBACK 함수 사용과 비슷한 Flow 를 가진다.
unsafe
포인트 사용등과 같은 코드는 빌드시 컴파일 오류가 발생 한다. 이와 같은 코드가 필요할 경우에는 unsafe 모드로 함수를 선언하던지, 블럭{} 지정하여 사용 할수 있다. (컴파일러 옵션에 /unsafe 지정해야 한다.)
fixed
가비지 컬렉션에서 변수 주소를 재배치 할 수 없도록 한다. 고정 크기 버퍼 작업등에 사용 될 수 있다. (unsafe 블럭 안에서만 사용 가능하다.)
interface
멤버의 껍데기(시그니쳐)만 포함되는 class 이다.
abstract class 는 순수 가상함수를 하나 이상 포함 하는 것이지만, interface 는 모두 순수 가상함수 여야 한다.
internal
동일한 어셈블리 안에서만 사용이 가능하다.
dll 에서 선언된 internal object 는 다른 dll 이나 exe 에서 사용할 수 없다.
is
형식 및 객체 호환 여부를 검사한다.
int num = 0;
if (num is int)
lock
지정된 개체를 잠그고 블럭 내에 임계 영역을 만든다.
readonly
const 와 같이 변수를 상수화 시킨다. const 와 다른 점은 생성자에서는 readonly 변수를 변경 가능 하다.
그렇기 때문에 const 는 컴파일 할때 상수화 되지만 readonly 는 runtime 에서 상수화 된다.
ref
call by reference 값을 전달 하기 위해 사용 된다.
sealed
해당 키워드로 선언된 class 는 부모 class 가 될 수 없다.
해당 키워드로 선언된 class 는 다른 class 가 상속할 수 없게 하는 한다. (빌드 오류)
stackalloc
new 와 같이 메모리를 할당 하지만, heap 영역이 아닌 thread stack 영역에 메모리를 할당 한다. (_alloc)
unsafe 모드에서만 빌드 된다.
using
개체의 범위를 정의 할때 사용 한다. using 블럭이 끝날때, IDisposable::Dispose 함수가 수행 된다. 그러므로 IDisposable 를
상속받은 객체를 사용 해야 한다.
% 네임 스페이스의 별칭을 만들거나 사용 할때 사용한다.
StringBuilder
문자열 데이타를 정적으로 사용 하려면 string 을 사용 하고, 문자열 내부 내용을 변경해야 한다면 StringBuilder 사용 한다. string 는 내부 문자열을 변경 시키는 메소드가 없기 때문이다.
null 허용 한정자
value reference 변수에도 null 값을 사용할 수 있다. (int? num = null)
C++ 과 범위가 다른 변수
형식 |
범위 |
크기 |
sbyte |
-128 ~ 127 |
부호 있는 8비트 정수 |
char |
U+0000 ~ U+ffff |
유니코드 16비트 문자 |
long |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
부호 있는 64비트 정수 |
ulong |
0 ~ 18,446,744,073,709,551,615 |
부호 있는 64비트 정수 |
decimal |
28-29개의 유효 자릿수 |
부호 있는 128비트 데이터 |
'programming' 카테고리의 다른 글
nonlocal goto 문 (0) | 2017.04.07 |
---|---|
힙이 손상 되는 오류 노가다로 찾아 내기 (0) | 2014.01.28 |
GetLastError 함수 코드와 한글 메시지 (0) | 2013.08.26 |
ODBC 관리자는 32bit 64bit 호환 되지 않는다 (2) | 2012.09.14 |
stack overflow 되면 mini dump 0kb 인 문제 해결 방법 (0) | 2012.04.16 |