본문 바로가기

코틀린5

Part 5 - 람다로 프로그래밍 5. 람다로 프로그래밍 람다는 코드 조각이다. 코틀린 표준 라이브러리는 람다를 많이 사용한다. Lambda with Receiver: 람다 선언을 둘러싸고 있는 환경과는 다른 환경에서 람다 본문을 실행할 수 있다. 5.1 람다 식과 멤버 참조 5.1.1 람다 소개: 코드 블록을 함수 인자로 넘기기 객체 간 데이터뿐만 아니라 "무엇을 할 지"를 전달하기 위해 람다가 필요하다. 람다는 Functional Interface 구현의 다른 형태이다. button.setOnclickListner{/* 클릭 시 수행할 동작*/} 5.1.2 람다와 컬렉션 람다를 이용해서 외부 반복을 내부 반복으로 바꿀 수 있다. people.maxBy{it.age} // 컬렉션에 무엇을 기준으로 찾을지를 제공하는 프로듀서를 넘긴다. .. 2021. 9. 9.
Part 4 - 클래스, 객체, 인터페이스 4. 클래스, 객체, 인터페이스 코틀린의 클래스와 인페이스는 자바와는 약간 다르다. 인터페이스도 프로퍼티를 가질 수 있으며, 기본적으로 final과 public이다. 중첩 클래스는 외부 참조를 가지지 않는다. 롬복 @Data를 네이티브하게 구현할 수 있다 object는 클래스와 인스턴스를 선언과 동시에 생성하는 키워드이다. 4.1 클래스 계층 정의 4.1.1 인터페이스 코틀린 인터페이스는 자바 인터페이스와 비슷하다. 자바8처럼 구현체가 있는 메서드를 가질 수 있다. interface Clickable{ fun click() fun showOff() = println("I`m clickable!") } interface Focusable{ fun showOff() = println("I`m Focusabl.. 2021. 9. 5.
Part 3 - 함수 정의와 호출 Ch.3 함수 정의와 호출 3.1 코틀린에서 컬렉션 만들기 val set = hashSetOf(1,7,53) val list = arrayListOf(1,7,53) val map = hashMapOf(1 to "one", ...) val strings = listOf("first", ...) val numbers = setOf(...) val last = strings.last() val max = numbers.max() 코틀린은 자체 컬렉션을 제공하지 않고 자바 컬렉션에 의존한다. 코틀린의 메서드 익스텐션을 이용해서 자바 컬렉션보다 더 쉽게 컬렉션을 사용할 수 있다. 3.2 함수를 호출하기 쉽게 만들기 3.2.2 디폴트 파라미터값 fun joinToString( collection: Collectio.. 2021. 8. 29.
Part 2 - 코틀린 기초 Ch2. 코틀린 기초 2.1 기본 요소 : 함수와 변수 2.1.1 Hello World fun main(args: Array) { println("Hello World!") } 함수를 선언할 때는 fun 키워드를 사용한다. 변수명 뒤에 타입을 선언한다. 함수를 최상위 수준에 정의할 수 있다. 배열 문법이 따로 존재하지 않는다. 간결성을 위해 자바 메서드를 감싼 Wrapper 메서드가 있다. 세미콜론으르 생략 가능하다. 2.1.2 함수 fun max(a: Int, b: Int): Int = if(a>b) a else b 식(Expression): 값으로 치환될 수 있는 코드 문장(statement): 실행될 수 있는 코드 단위, 값을 만들어내지 않는다. 코틀린은 루프를 제외한 모든 제어 구조가 식이다.->.. 2021. 8. 20.
Part 1 - 코틀린 소개 코틀린이란? 자바 플랫폼(JVM)에서 돌아가는 새로운 프로그래밍 언어이다. 코틀린은 1. 간결하고 2. 실용적이며 3. 상호운용성을 중시하며 4. 안전하다. 코틀린은 범용 프로그래밍 언어로써, 서버 개발, 안드로이드 앱 개발 뿐만 아니라 다양한 분야에서 사용할 수 있다. 코틀인은 정적 타입 지정 언어이다. 객체의 타입을 컴파일 시점에 지정해서 컴파일 타임에 타입 오류를 검증할 수 있다. 정적 타입은 안전하지만 컴파일러에게 더 많은 정보를 제공해줘야하기 때문에 생산성이 떨어진다. 코틀린은 "var x = 1" 처럼 타입 추론 기능을 지원하기 때문에 안전성과 생산성의 트레이드 오프 관계를 벗어난다. 코틀린은 함수형 프로그래밍과 객체지향 프로그래밍을 동시에 지원한다. 코틀린에서 함수는 일반 객체이다. 함수형 .. 2021. 8. 1.