개요 코딩 테스트에서는 코틀린을 선택할 때 가장 대표적으로 아래 두가지 형태로 정답을 작성하도록 합니다. Solution Class 안에 solution function이 있는 형태 class Solution { fun solution(string: String): String { return string } } solution function만 있는 형태 fun solution(string: String): String { return string } 이런 두 경우 Intellij에서 코딩 테스트를 풀기위한 환경을 어떻게 세팅하는지 살펴봅시다. 기초 지식 먼저 코틀린 내부에서는 하나의 파일 안에 여러개의 클래스(class)와 함수(fun)가 최상위 계층에 작성될 수 있다는 것을 알아야 합니다. 이것이 ..
분류 전체보기
안녕하세요. 이번 포스트에서는 알고리즘을 위한 Intellij Kotlin 개발 환경 세팅하기를 진행할 것입니다. 아래 방식을 그대로 따라가기만 하면 세팅됩니다. 이미 Intellij나 Android 환경이 있으시다면 13번부터 진행하시면 됩니다. * 웹 개발이나 Android 개발 등 다른 환경을 위해서는 다른 방식으로 Intellij 개발 환경을 세팅해야 합니다. 개발 환경 세팅 1. Intellij 사이트 접속 후 다운로드 클릭 www.jetbrains.com/ko-kr/idea/ IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE Enterprise Java, Scala, Kotlin 등을 지원하며 강력한 기능을 제공하고 인체 공학적으로 설계된 Java IDE ..
목표 LiveData가 무엇인지 안다. LiveData의 setValue와 postValue의 차이점에 대해 안다. 개요 LiveData는 수명주기를 인식하는 데이터 발행자(Observable)이다. 발행자(Observable, Publisher) 리액티브 프로그래밍에서 발행자는 자신에게 붙은 구독자(subscriber)에게 데이터를 발행해주는 역할을 한다. LiveData는 수명주기를 인식하여 옵저버(observer)에게 데이터를 발행한다. 즉, LiveData는 발행자이며, 옵저버(observer)라 불리는 구독자(subscriber)을 붙일 수 있다. LiveData의 데이터가 바뀔 때 LiveData에 붙은 구독자들에게 데이터가 발행된다. 하지만, 기존 리액티브 프로그래밍과 다르게 LiveData..
목표 Bundle이 가진 특성을 이해한다. Bundle에 어떤 객체가 들어가고 나올 수 있는지 안다. Bundle Bundle이란 Map형태로 구현된 데이터의 묶음(Bundle)이다. Map형태라 key 값이 String이며, value값에는 Int, String과 같은 간단한 타입부터 Serializable, Parcelable 같은 복잡한 타입이 들어올 수 있다. Android에서는 객체를 전달할 때 보통 Parcelable을 구현한 객체를 전달한다. *Parcelable에 대해 모른다면 [Bundle] Parcel과 Parcelable 글을 참조 Bundle의 사용 Android에서는 Bundle을 다음의 활동에 사용한다. Activity의 상태 저장 및 복구(onSavedInstanceState,..
목표 Parcel의 특징을 이해한다. Parcelable의 특징을 이해한다. Parcel이란? Parcel이란 무엇일까? 먼저 번역을 해보는 것이 이해에 도움이 될 것이다. Parcel은 한국어로 '꾸러미'라는 뜻이다. 짐을 싸듯이 객체를 싸는 클래스가 바로 Parcel 클래스이다. Parcel 클래스는 직렬화시 Container역할을 하는 클래스로 말 그대로 꾸러미이다. Parcel이 필요한 이유 안드로이드에서는 프로세스간 통신(IPC)을 위해 Bundle 클래스를 사용하는데, 이러한 Bundle Class는 Map으로 Key와 Value가 있는 형태의 클래스이다. 이러한 Bundle에서 Int나 String 같은 간단한 데이터는 그대로 Value 값으로 넣을 수 있지만, Java의 POJO나 Bean..