분류 전체보기

    [Kotlin Collection] Kotlin Mutable과 Immutable의 차이는 무엇인가? Mutable Interface의 관점에서 보는 코틀린의 가변성과 불변성

    개요 Kotlin의 Collection은 두가지 타입의 Interface를 제공한다. 한 가지는 변경 불가능(Immutable)한 Interface 이며 다른 하나는 변경 가능(Mutable)한 Interface이다. 더욱 자세히 들어가면 Immutable Interface와 Mutable Interface는 아래 [그림1]과 같은 상속 구조를 가진다. Immutable Interface에서는 값을 변경할 수 있는 함수를 제공하지 않으며, Immutable Interface를 확장하는 Mutable Interface에서 값을 변경하는 메서드를 제공한다. 필요성 Kotlin에서 이렇게 Immutable Interface와 Mutable Interface를 나눈 것은 불변성이 중요한 함수형 프로그래밍을 돕기..

    [메모리] JVM의 메모리 사용 방식 : JVM의 Static Area와 Heap Area를 중심으로 Kotlin/JVM의 메모리 사용방식을 이해하기

    목표 각 Memory Area가 어떤 역할을 하는지 이해한다. JVM의 메모리 구조 JVM은 Runtime에 Data를 올려놓는 공간인 Runtime Data Area를 가지고 있다. 이 공간은 총 5가지로 나뉘는데, 뒤의 PC Register과 Native Method Stack 영역은 Low Level의 Operation을 하기 위한 메모리 공간 이므로 이 장에서는 앞의 세가지 'Method Area(Static Area)', 'Heap Area', 'Stack Area'만 다룬다. Method Area(Static Area) - 정적 영역 Heap Area - 힙 영역 Stack Area - 스택 영역 Method Area(Static Area) 개요 Method Area는 우리가 보통 정적(Sta..