C#

C#의 자료형(Data Types)

C/C++와 구분되는 C#의 참조 관련 자료형의 특징

C#에서는 pointer라는 형식이 없는 까닭에 참조와 관련된 몇 가지 규칙을 정하고 있다. 가장 기본이 되는 구분이 value typereference type이다.

  • value types: int, float 등의 기본 자료형(Java에서는 이것들을 primitive type이라고 부른다.)과 struct type이 이에 속한다.

  • reference types: value type을 제외한 나머지 모든 것들. new 키워드를 사용하여 생성하는 객체를 담는 모든 자료형은 다 여기에 속한다. Java의 object type과 유사하다고 보면 된다.

  • string type은 value type이 아니라 immutable reference type이다.

Parameter Passing과 관련된 특징

C#에서는 parameter를 전달할 때 기본적으로 값에 의한 전달(pass by value) 방식을 사용한다. 물론 참조에 의한 전달(pass by reference) 방식이 있으며, 몇 가지 특이한 형식의 parameter 전달 방식이 더 있다.

  • value parameters

  • reference parameters

  • output parameters

  • parameter arrays

참고 자료