코틀린에서는 배열을 잘 사용하지 않는다는 여자친구

성태팍·2024년 11월 19일
post-thumbnail

여자친구는 안드로이드 앱 개발자 지망으로 코틀린을 메인 언어로 공부 중이다.

함께 코테 문제에 대해 이야기를 나누던 중 자바스크립트에서는 배열을 자주 사용한다고 말하니 코틀린에서는 배열 말고 리스트를 자주 사용한다고 한다.
사용 용례를 들어보니 자바스크립트 배열이랑 굉장히 유사한데 어떻게 된 것일까?

1. 코틀린에서 배열(Array)와 리스트(List)의 차이

  • 배열(Array)
    • 고정된 크기의 자료구조로 유연성이 떨어짐
  • 리스트(List)
    • 크기가 동적으로 변할 수 있고 가변적임
    • 코틀린 표준 라이브러리에서 더 많은 기능과 유연성 제공
    • 코틀린의 리스트는 다양한 메서드 (map, filter, reduce, forEach 등)를 제공하며, 함수형 프로그래밍 스타일을 쉽게 구현할 수 있음.

2. 자바스크립트 배열과 비교

JavaScript의 배열은 코틀린의 리스트와 더 유사한 동작을 함 ->

  • 크기가 동적임
  • 다양한 내장 메서드 (push, map, filter 등) 제공
  • 배열을 객체처럼 다룰 수 있음

JavaScript에서 배열은 배열이자 리스트의 역할을 모두 수행하기 때문에 코틀린에서 리스트를 사용하는 이유와 자바스크립트에서 배열을 사용하는 이유가 유사하다고 볼 수 있다.

3. 간단한 예제

Kotlin List

val numbers = listOf(1, 2, 3, 4) // 불변 리스트
val mutableNumbers = mutableListOf(1, 2, 3, 4) // 가변 리스트

println(numbers[1]) // 2
mutableNumbers.add(5)
println(mutableNumbers) // [1, 2, 3, 4, 5]

Javascript Array

const numbers = [1, 2, 3, 4]; // 기본적으로 가변적
console.log(numbers[1]); // 2
numbers.push(5);
console.log(numbers); // [1, 2, 3, 4, 5]

궁금증 해결!

profile
안녕하세요. 반갑습니다. 건강하세요.

0개의 댓글