String은 String 클래스를 기반으로 구현되는 컬렉션입니다. Kotlin 공식 문서에 따르면 문자열은 다음과 같이 정의됩니다.
Class String : Comparable<String>, CharSequence
Kotlin에서 문자열(String)은 문자들의 집합입니다. 문자열은 불변(immutable)이므로 한 번 생성되면 내용이나 길이를 변경할 수 없으며, 읽기 전용으로 취급됩니다.
Java에서는 String[] 형태로 빈 문자열 배열을 간단하게 만들 수 있습니다. 이 글에서는 Kotlin에서 동일한 작업을 수행하는 대표적인 라이브러리 함수 세 가지를 예제와 함께 살펴보겠습니다.
방법 1: arrayOf() 사용하기
Kotlin 표준 라이브러리는 다양한 타입의 배열을 생성할 수 있는 함수를 제공합니다. 아래 예제에서는 arrayOf()에 타입 매개변수만 지정하여 빈 문자열 배열을 생성합니다.
fun main(args: Array<String>) {
var myEmptyStringArray = arrayOf<String>()
println(myEmptyStringArray)
}출력 결과
[Ljava.lang.String;@4aa298b7
위 코드에서는 빈 문자열 배열을 선언하고 "myEmptyStringArray"라는 이름으로 저장한 뒤 내용을 출력했습니다. 배열 객체 자체를 출력하기 때문에 메모리 위치의 해시 코드가 표시됩니다.
방법 2: arrayOfNulls() 사용하기
arrayOfNulls()는 지정한 크기만큼 null로 초기화된 배열을 생성하는 함수입니다. 이 함수를 사용하면 나중에 실제 문자열 값으로 채울 수 있는 고정 크기의 배열을 미리 준비할 수 있습니다.
fun main(args: Array<String>) {
var myEmptyStringArray: Array<String?> = arrayOfNulls(3)
println(myEmptyStringArray)
}출력 결과
[Ljava.lang.String;@4aa298b7
위 코드에서는 크기가 3인 null 요소 배열을 선언하고 "myEmptyStringArray"라는 이름으로 출력했습니다. 반환 타입이 Array<String?>이므로, 이후 각 인덱스에 문자열을 할당할 때는 null 허용 여부에 유의해야 합니다.
방법 3: emptyArray() 사용하기
Kotlin에서는 emptyArray() 함수를 사용해서도 빈 문자열 배열을 만들 수 있습니다. 이 함수는 항상 크기가 0인 배열을 반환하며, 타입 매개변수를 통해 배열의 요소 타입을 지정합니다.
fun main(args: Array<String>) {
var myEmptyStringArray: Array<String> = emptyArray()
println(myEmptyStringArray)
}출력 결과
[Ljava.lang.String;@4aa298b7
세 가지 방법 비교 정리
arrayOf() — 값을 직접 나열해 배열을 만들거나, 타입만 지정해 빈 배열을 생성할 수 있습니다.
arrayOfNulls() — 지정한 크기만큼 null로 채워진 배열을 생성하며, 나중에 값을 채우는 용도에 적합합니다.
emptyArray() — 크기가 0인 완전히 빈 배열을 생성합니다.
상황에 따라 적절한 함수를 선택하면 Java의 String[]와 동일한 기능을 Kotlin에서 자연스럽게 구현할 수 있습니다.