Microsoft 공식 문서 정리
개체 지향 구성 요소 지향 프로그래밍 언어
변수가 자체적으로 데이터 사본을 갖고 있음
단순 형식
- 정수 : short
, int
, long
, ushort
, uint
, ulong
- 유니코드 문자
- 부동 소수점 : double
- bool
열거형 형식
enum E {...}
구조체 형식
struct S {...}
Nullable 형식
null
튜플 값 형식
- (T1, T2, ...) 양식의 사용자 정의 형식
변수에 데이터에 대한 참조가 저장
클래스 형식
- 모든 형식의 기본 클래스 : object
- 유니코드 문자열
- class C {...} 양식의 사용자 정의 형식
인터페이스 형식
interface I {...} 양식의 사용자 정의 형식
배열 형식
1차원 배열 int[]
2차원 배열 int[,]
가변 배열 int[][] : 요소의 크기가 서로 다른 배열
ex.
int[][] jaggedArray3 =
{
new int[] { 1, 3, 5, 7, 9 },
new int[] { 0, 2, 4, 6 },
new int[] { 11, 22 }
};
```
대리자 형식
delegate int D (...) 양식의 사용자 정의 형식
상태(field)와 작업(method 및 기타 함수)을 하나의 단위로 결합하는 데이터 구조
public class Point // 클래스의 이름
{
public int X { get; } // get : 자동 구현 프로퍼티
public int Y { get; }
public Point(int x, int y) => (X, Y) = (x, y);
}
var p1 = new Point(0,0); // 클래스의 인스턴스 생성
예제 코드 내의 설명
/- 변수 앞 public : 접근 한정자
public 어느 곳에서든 접근 가능
internal 어셈블리 내부에서만 접근 가능
protected 해당 클래스 및 상속 받은 클래스에서 접근 가능
private 해당 클래스에서만 접근 가능
/- { get;} : Get 함수의 자동 구현 Property
외부에서도 특정 클래스의 protected/private 속성에 접근하기 위해 Get 함수를 사용
C#에서는 이러한 Get 함수를 관리하기 쉽도록 Property라는 문법을 제공
Property를 더욱 간략화하기 위해 자동 구현 Property 사용 => { get; }