C#에서 int와 Int32란?
Int32는 .NET 프레임워크가 제공하는 구조체 타입이며, int는 C# 언어에서 이를 가리키는 별칭(alias)입니다. 즉, 두 이름은 동일한 타입을 표현하는 서로 다른 방식일 뿐입니다.
Int32 x = 5;
int x = 5;
위 두 선언문 모두 32비트 정수를 저장하며, 컴파일되는 코드도 완전히 같기 때문에 실행 시점에는 어떠한 차이도 존재하지 않습니다.
유일한 사소한 차이점
Int32를 코드에서 그대로 사용하려면 System 네임스페이스를 참조해야 합니다. 반면 int 키워드는 별도의 네임스페이스 지정 없이 어디서든 자유롭게 사용할 수 있다는 점이 유일한 차이입니다. 타입을 검증해 보면 아래와 같이 세 가지 표기가 모두 동일한 타입임을 확인할 수 있습니다.
typeof(int) == typeof(Int32) == typeof(System.Int32)
예제 1: System.Int32로 정수 선언하기
다음 예제는 System.Int32를 사용하여 정수를 선언하는 방법을 보여줍니다.
using System;
namespace DemoApplication{
class Program{
static void Main(string[] args){
Int32 x = 5;
Console.WriteLine(x); // 출력: 5
}
}
}출력
5
예제 2: int 키워드로 정수 선언하기
다음 예제는 C#의 기본 키워드인 int를 사용하여 정수를 선언하는 방법을 보여줍니다.
using System;
namespace DemoApplication{
class Program{
static void Main(string[] args){
int x = 5;
Console.WriteLine(x); // 출력: 5
}
}
}출력
5
어떤 것을 사용해야 할까?
두 표기법은 기능적으로 완전히 동일하지만, 마이크로소프트의 공식 코딩 규약(Coding Conventions)에서는 간결하고 가독성이 좋은 int 키워드 사용을 권장합니다. Int32는 타입 간 일관성을 명시적으로 드러내야 하는 특수한 경우에 주로 활용됩니다.