programming2015. 3. 20. 11:42

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비트 데이터



Posted by 상현달