Scroll indicator done

전체 글 (179)

  1. 3장 - 함수 정의와 호출 2021.07.08

    3장에서는 모든 프로그램에서 핵심이라 할 수 있는 함수 정의와 호출 기능을 코틀린이 어떻게 개선했는지 살펴본다. 추가로 확장 함수와 프로퍼티를 사용해 자바 라이브러리를 활용하면 코틀린과 자바를 함께 쓰는 프로젝트에서 코틀린의 장점을 최대한 살릴 수 있다. 이번 장에서 설명하는 내용이 더 유용하기 (그리고 덜 추상적이기 위해)위해서 코틀린 컬렉션, 문자열, 정규식(regulear expression)만으로 문제 영역을 한정한다. 우선 코틀린에서 컬렉션을 만드는 방법을 살펴보자. 코틀린에서 컬렉션 만들기 일단 컬렉션을 만드는 방법을 배워보자. 앞에서 setOf 함수로 집합을 만드는 방법을 살펴본 적이 있다. val set = hashSetOf(1, 7, 53) 비슷한 방법으로 리스트와 맵도 만들 수 있다. ..

  2. 2장 - 코틀린 기초 2021.06.28

    이번 장에서는 모든 프로그램의 필수 요소인 변수(variable), 함수(function), 클래스(class) 등을 코틀린에서 어떻게 선언하는지 살펴보고 프로퍼티(property)라는 개념을 배운다. 또한 코틀린의 여러 제어 구조를 배운다. 대부분의 코틀린 제어 구조는 자바와 비슷하지만 몇 가지 중요한 개선이 이뤄졌다. 그런 다음 스마트 캐스트(smart cast)에 대해 설명한다. 스마트 캐스트는 타입 검사와 타입 캐스트, 타입 강제 변환을 하나로 엮은 기능이다. 마지막으로 예외 처리(exception handling)를 살펴본다. 이번장을 다 읽고 나면 기본적인 코틀린 개념을 활용해 코드를 작성할 수 있다. (한 가지 주의할 점은 여기서 배운 내용만으로 작성할 수 있는 코드는 코틀린 다운 코드라고 ..

  3. 1장 - 코틀린이란 무엇이며, 왜 필요한가? 2021.06.10

    코틀린(Kotlin)은 무엇인가? 코틀린은 자바 플랫폼에서도 돌아가는 새로운 프로그래밍 언어다. 코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성을 중시한다. 현재 자바를 사용 중인 곳이라면 거의 대부분 코틀린을 활용할 수 있다. 코틀린을 사용하는 대표적인 분야는 서버 개발, 안드로이드 앱 개발 등의 분야에서 사용한다. 코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 작동하며, 성능도 자바와 같은 수준이다. 코틀린 맛보기 data class Person(val name: String, val age: Int? = null) // 데이터 클래스, 널이 될 수 있는 타입(Int?)과 파라미터 디폴트 값 fun main(args: Array) { val persons = listOf(Person("..

  4. 아이템 37 - ordinal 인덱싱 대신 EnumMap을 사용하라 2021.06.09

    배열이나 리스트에서 원소를 꺼낼 때 ordinal 메서드로 인덱스를 얻는 코드가 있다. 예를들어 다음과 같이 식물을 간단히 나타낸 다음 클래스를 보자 class Plant { enum LifeCycle { ANIMAL, PERENNIAL, BIENNIAL } final String name; final LifeCycle lifeCycle; Plant(String name, LifeCycle lifeCycle) { this.name = name; this.lifeCycle = lifeCycle; } @Override public String toString() { return name; } }정원에 심은 식물들을 배열 하나로 관리하고, 이들을 생애주기별로 묶어보자. 생애주기별로 총 3개의 집합을 만들고 정..

  5. [Lv2 방학]단기 Todo list 2021.06.04

    생각나는대로 일단 작성해본다. (해당 Todo list는 살아있는 todo list이다!) 가지고있는 얇은 책 읽어보기 엘레강트 오브젝트 (객체지향 강경파인 러시아 그녀석의 생각이 궁금하다) 코딩을 지탱하는 기술 (필독서인데 얇아서 빠르게 읽어보자!) 굵은 책 읽기 시작해보기... (고민 끝에, 방학동안 읽을 두 권을 선정했다!) 토비의 스프링 (상) (대체 이 녀석은 언제 읽지...? 입사하고 읽을려나 🥲 하다못해 Lv4 때는 조금씩이라도 읽어보자) 오브젝트 오브젝트 디자인 스타일 가이드 (아래에 두 권을 다 읽는다면 오브젝트 또는 이 책을 읽을 듯 하다! ) **코틀린 인 액션** (제작 근로의 퀄리티를 위해 이것부터!) **모두의 네트워크** (책 제목 자체가 10일만에 완성하는 네트워크이니까 취지..

  6. 아이템 36 - 비트 필드 대신 EnumSet을 사용하라 2021.06.01

    열거한 값들이 주로 집합으로 사용될 경우, 예전에는 각 상수에 서로 다른 2의 거듭제곱 값을 할당한 정수 열거 패턴을 사용해왔다. public class Text { public static final int STYLE_BOLD = 1