C#과 Java에서 배열 선언 및 사용에 차이점이 몇 가지 있습니다. 주요 차이점을 아래에 정리해 보았습니다.
1. 배열 선언 방식
- C#: Type[] arrayName = new Type[size];
- Java: Type[] arrayName = new Type[size];
배열 선언 방식은 C#과 Java 모두 유사하지만, 배열 초기화 방법에 따라 차이가 있을 수 있습니다.
2. 배열 크기 지정
- C#: 배열을 선언할 때 크기를 지정하지 않고 초기화할 수 있습니다.
csharpint[] numbers = { 1, 2, 3 };
- Java: 배열 선언 시 크기나 값을 바로 할당할 수 있습니다.
javaint[] numbers = { 1, 2, 3 };
3. 배열 초기화 값
- C#: 배열이 선언되면 자동으로 기본값으로 초기화됩니다. 예를 들어, int 배열의 경우 모든 값이 0으로 초기화됩니다.
- Java: Java에서도 배열은 선언되면 자동으로 기본값으로 초기화됩니다. int 배열은 0, boolean 배열은 false로 초기화됩니다.
4. 배열 속성
- C#: 배열의 길이를 확인할 때 Length 속성을 사용합니다.
csharpint[] numbers = new int[3]; int length = numbers.Length;
- Java: Java에서는 length 필드를 사용합니다.
javaint[] numbers = new int[3]; int length = numbers.length;
5. 다차원 배열
- C#: 다차원 배열을 쉽게 선언할 수 있으며, 직사각형 배열과 가변 배열(혹은 계단식 배열)을 지원합니다.
csharp// 직사각형 배열 int[,] matrix = new int[3, 3]; // 가변 배열 (계단식 배열) int[][] jaggedArray = new int[3][]; jaggedArray[0] = new int[2]; jaggedArray[1] = new int[3]; jaggedArray[2] = new int[1];
- Java: Java에서는 다차원 배열을 가변 배열(계단식 배열)로만 선언할 수 있습니다.
javaint[][] matrix = new int[3][]; matrix[0] = new int[2]; matrix[1] = new int[3]; matrix[2] = new int[1];
6. Array 클래스 지원
- C#: 배열은 System.Array 클래스를 상속받아 여러 가지 메서드를 제공합니다. 예를 들어 Array.Sort(), Array.Reverse() 등을 사용할 수 있습니다.
- Java: Java 배열은 java.util.Arrays 클래스를 통해 다양한 유틸리티 메서드 (Arrays.sort(), Arrays.toString())를 사용할 수 있습니다.
7. 형식 안전성
- C#: C#에서는 배열에 형식 안전성이 강화되어 있어 선언된 형식과 일치하지 않는 데이터를 추가할 수 없습니다.
- Java: Java에서도 마찬가지로 배열 선언 시 지정된 형식 외의 데이터는 허용되지 않습니다.
이처럼 C#과 Java는 배열 선언 및 처리 방식에서 유사한 점이 많지만, 세부적인 기능과 문법에서는 차이가 있습니다.
'c# 언어 > 초급과정' 카테고리의 다른 글
메모리 절약: static 메소드는 클래스가 메모리에 로드될 때 한 번만 생성 (0) | 2024.09.14 |
---|---|
C# Windows Forms 애플리케이션에서 Console.WriteLine()을 사용하여 명령 프롬프트 창에 메시지를 출력 (0) | 2024.09.04 |
(상식)정적 메서드에 접근할 때는 클래스 이름을 사용합니다. (0) | 2024.07.12 |
( ChatGPT )c# List 와 배열의 차이점 (0) | 2024.06.06 |
(ChatGPT)비교/string SpecificPay { get; set; }/string SpecificPay/ (0) | 2024.06.06 |