Kotlin

· Machine/JVM
목표 String이 Heap 메모리 상에서 어떻게 저장되는지 확인한다. 개요 JVM에서 변수를 저장하게 선언하면 해당 변수는 Heap Area에 저장된다(그림1 참조). String도 Heap Area에 저장되는 것은 마찬가지인데 String은 많이 쓰이는 변수인 만큼 조금 특이한 방식으로 저장된다. *이것에 익숙하지 않다면 먼저 JVM의 메모리 사용 방식을 보고 오자 String은 우리가 가장 많이 쓰는 클래스 중 하나이다. String을 효율적으로 사용하기 위해 JVM상에서 String을 다른 객체들과 차별되게 저장되도록 해놓았는데, 그것이 바로 Heap Area 상의 String Constant Pool이다. 예를 들어 다음과 같은 코드가 실행된다고 해보자 val stringA1 = "A" val ..
목표 String, StringBuilder, StringBuffer의 차이점을 안다. 멀티 스레드 환경에서 StringBuffer을 이용해야 하는 이유를 안다. 개요 문자열과 관련된 프로그래밍을 위해서라면 String을 사용해야 한다. 아마 Java나 Kotlin으로 프로그래밍 하는 사람이라면 누구나 String을 사용해 보았을 것이다. val kotlinWorld: String = "Kotlin" + "World" 하지만, String을 여러번 바뀌는 문자열을 위해 사용하는 것은 좋지 않다. 이유는 String은 내부에 value값이 final로 선언되어 있는 불변 객체고 값을 바꾸기 위해서는 새로운 객체에 할당을 해주어야 해서 비용이 크기 때문이다. 이에 따라서 우리는 String을 만들기 위해서 ..
목차로 돌아가기 [Kotlin Collection] Kotlin에서 확장함수를 이용해 Collection 조작하기 목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 kotlinworld.com 목표 forEach와 관련된 확장함수를 익힌다. 관련 확장함수들을 적시에 사용할 수 있도록 한다. 확장함수 목록 forEach forEach는 각 Iterable에 대한 확장함수로, 기존의 for문을 사용하던 외부 반복(Iteration)에서 내부 반복(Iteration)으로 바꿔줄 수 있게 하여 가독성을 좋게 만든 확장 함수입니다. forEach : forEach..
목차로 돌아가기 [Kotlin Collection] Kotlin에서 확장함수를 이용해 Collection 조작하기 목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 kotlinworld.com 목표 forEach를 이해한다. forEach를 자유롭게 사용하여 데이터를 조작한다. forEach() 개요 forEach는 순서가 있는 데이터(CharSequence, Iterable 등)에 대한 확장함수로, 기존의 for문을 사용하던 외부 반복(Iteration)에서 내부 반복(Iteration)으로 바꿔줄 수 있게 하여 가독성을 좋게 만든 확장 함수입니다. 외..
목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 조작하기 쉽게 만들었습니다. 대표적으로 기존에는 특정한 값들을 걸러내기 위해 iteration을 돌려 하나하나 값을 확인하는 것을 코드로 써야 했습니다. 아래는 기존 방식으로 리스트(exampleList)에서 특정 값을 제외한 리스트(filteredList)를 만드는 예제입니다. val exampleList = mutableListOf(1, 2, 3) val filteredList = mutableListOf() for (number in exampleList) { if (number != 1) filte..
Dev.Cho
'Kotlin' 태그의 글 목록 (27 Page)