-
(Kotlin / 코틀린) Array (배열)언어 공부/코틀린 공부 2023. 1. 30. 20:36
안녕하세요~ 코딩하는 코알못 코메인입니다.
코틀린에서 사용하는 배열을 보겠다.
배열이란 같은 타입의 변수들로 집합을 이룬 것을 말한다.
여기서 코틀린의 Any 타입으로 같은 타입이 아닌 변수들로도 배열을 짤 수 있는데 차차 확인해 보겠다.
배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 한다.
인덱스 번호는 무조건 0부터 시작하며, 0이상의 정수들로만 이루어져있다.
요소에는 모든타입이 들어갈 수 있으며, Int는 정수, Double은 소수, String은 문자열, Boolean은 참 거짓 (true, false) 등으로 대입한다.
코틀린에서의 배열 선언을 보자.
구현
val numbers:IntArray = intArrayOf(1, 2, 3, 4, 5, 6) val numbers = intArrayOf(1, 2, 3, 4, 5, 6) val numbers = arrayOf(1, 2, 3, 4, 5, 6)
같은 배열이지만 작성 방법이 점점 줄어드는 것을 볼 수 있다.
첫 줄의 선언이 세번째 줄의 선언처럼 줄어들 수 있는 이유는 코틀린에서 변수는 타입추론이 가능한데, 이것은 배열 선언시에도 마찬가지기 때문이다.
타입 추론이란 간단하게 말하면 변수가 대입 된 값을 인식해서 타입을 자동으로 정해주는 것이다.
추가로 String 형태도 보여주자면
val days = arrayOf("sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat")
처럼 하면 된다.
출력해보자.
println(days)
라고 출력하면 알수 없는 문자들이 출력 될 것이다. 그 문자들은 배열이 저장 된 주소를 출력한 것이고, 배열을 정상적으로 출력하려면
println(days.contentToString())
해당 방식으로 출력하면 정상적으로
[sun, Mon, Tues, Wed, Thurs, Fri, Sat] 로 출력 될 것이다.
배열에 저장 된 값 중 원하는 인덱스에 위치한 값을 출력해보자.
인덱스에 저장 된 값을 받아오는 방법은 배열명[인덱스]이다. 코드로 확인해보자.
val days = arrayOf("sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat") println(days[0])
해당 코드는 days[0]을 출력하는 것이다. 즉 days 배열에서 0인덱스에 저장 된 값을 출력하는 것이다.
출력하면 sun이 정상적으로 출력 된다.
만약 Wed를 출력하고 싶다면 4번째에 있으니, days[3]을 출력하면 된다.
값을 변경 시켜 줘 보자.
val numbers = arrayOf(1, 2, 3, 4, 5, 6) numbers[0] = 5 println(numbers[0])
0인덱스에 있는 값에 5를 대입해주고 0인덱스에 있는 값을 출력하면 1이 아닌 5가 정상 출력 되는 것을 확인 할 수 있을 것이다.
마지막으로 Any타입 배열을 보자. 코틀린에서 Any 타입이란 최상위 타입이 있는데 해당 내용은 정리하게 되면 블로그에 정리하겠지만 그 전에는 Any타입도 한 번 공부하고 오는 것을 추천한다.
간단하게 말하면 여러 타입이 한 배열안에 들어 갈 수 있게 해주는 것이다.
val mix = arrayOf("sun", "Mon", "Tues", 1, 2, 3, true, 5.5)
보면 배열에 넣은 값이 String, Int, boolean, double 형이 다양하게 존재하는 것을 알 수 있다.
그럼 정상적으로 출력이 되는 지도 확인해보자.
val mix = arrayOf("sun", "Mon", "Tues", 1, 2, 3, true, 5.5) println(mix.contentToString())
정상적으로 출력이 된다.
코틀린에서의 배열에대해 알아보았습니다.
보시는 분들에게 도움이 되셧으면 좋겠고, 만약 보시고 틀린 점이나 추가로 정보를 주고 싶은 분이 있다면 거리낌 없이 댓글로 남겨주시면 감사히 새겨 듣겠습니다. 봐주셔서 감사합니다.
'언어 공부 > 코틀린 공부' 카테고리의 다른 글
(Kotlin / 코틀린) Open (상속) (0) 2023.02.02 (Kotlin / 코틀린) print / println (출력) (0) 2023.01.29