C#에서 선언(Declaration)이란 변수를 선언하여 메모리 공간만 할당한 상태를 의미하며, 아직 어떤 값도 설정되지 않습니다.
반면 정의(Definition)는 변수에 실제 값을 할당하여 초기화까지 완료한 상태를 말합니다. 즉, 정의가 이루어진 변수부터 프로그램에서 안전하게 사용할 수 있습니다.
이러한 선언과 정의의 구분은 단순 변수뿐만 아니라 배열(Array), 컬렉션(Collection) 등 모든 데이터 구조에 동일하게 적용됩니다. 참고로 C#에서는 지역 변수를 사용하기 전에 반드시 값이 할당되어야 하므로, 선언만 하고 사용하려 하면 컴파일 오류가 발생할 수 있습니다.
변수(Variables)
먼저 변수를 선언하는 방법입니다. 메모리에는 공간이 확보되지만 값은 아직 없습니다.
int x;
이제 변수에 값을 할당하여 정의(초기화)해 보겠습니다.
x = 10;
배열(Arrays)
배열도 마찬가지로 선언과 초기화 과정을 거칩니다. 먼저 배열을 선언한 뒤, new 키워드로 크기를 지정하여 초기화합니다.
int[] n; // 선언 n = new int[10]; // 초기화
초기화된 배열에는 다음과 같이 각 요소에 값을 할당할 수 있습니다.
n[0] = 100; n[1] = 200;
정리하면, 선언은 '메모리 준비' 단계이고 정의는 '값 부여' 단계입니다. 두 개념의 차이를 명확히 이해하면 C#에서 변수와 배열을 더욱 안정적으로 다룰 수 있습니다.