📱Kotlin/[GDSC] Kotlin in Action 스터디

Kotlin in Action Chap.2 QnA🔍 해당 글은 2장을 읽고 스터디원들과 나눈 QnA를 정리한 것입니다. (코틀린 인 액션의 2장 내용 정리는 아래 글 참조) [코틀린 인 액션] Kotlin in Action 2장 정리 코틀린의 기본 요소에는 함수(function)와 변수(variable)가 있다. 코틀린에서는 많은 종류의 타입 선언을 생략해도 좋은데, 이는 가변의 데이터를 지양하고 프로그램을 불변의 상태로 유지할 수 있 cn-c.tistory.com #Property의 정의 코틀린에서는 클래스에 val/var로 정의되는 변수를 프로퍼티(property)라고 한다. 코틀린의 프로퍼티는 자바의 멤버변수(field)와 다르다. 코틀린의 프로퍼티는 자바의 field + getter/setter ..
Kotlin in Action의 1장은 코틀린에 대해 간단히 소개하는 내용이다. 따라서 1장을 따로 정리하다기 보다는 코틀린이라는 언어에 대해 궁금하거나 알고 싶은 점을 Deep Dive하는 시간을 스터디원들과 함께 가지기로 했다. 나는 객체 지향 프로그래밍에 대해서는 많이 들어봤고 잘 알고있지만, 함수형 프로그래밍이라는 말은 처음 들어본 것 같아 흥미가 생겨 해당 주제를 Deep Dive하기로 결정했다. #함수형 프로그래밍이란? 함수형 프로그래밍에 대해 다루기 전에, 잠시 다양한 프로그래밍 방식을 배워보자. 근래의 프로그래밍 방식은 다음과 같이 분류할 수 있다. 명령형 프로그래밍: 프로그램의 상태와 상태를 변경하는 구문의 관점에서 연산을 설명하는 방식. 즉, What이 아니라 How에 집중한다. 절차지..
이번 챕터에서는 영역 특화 언어(Domain-Specific Language)를 통해 관용적인 API를 디자인하는 법을 배울 것이다. 전통적인 API와 DSL 스타일 API의 차이점을 공부하고, DSL 스타일 API가 다양한 실용적인 문제, 즉 DB 접근, HTML 생성, 테스팅 등에 사용되는 방법을 배울 것이다. 코틀린 DSL 설계는 코틀린 언어의 여러 특성을 활용하는데 그중 하나가 5장에서 살펴본 수신 객체 지정 람다이다. 또다른 새로운 특징은 invoke로, 이는 10장에서 KFunction을 call이나 invoke로 호출할 수 있는 것에 관해서 11장에 설명할 것이라고 하고 넘어갔다. invoke를 사용하면 DSL 코드 안에서 람다와 프로퍼티 대입을 더 유연하게 조합할 수 있다. #APIs에서 ..
지금까지 함수와 클래스에 대한 많은 feature를 보았지만, 이들은 전부 클래스나 함수의 이름을 명확하게 명시할 것을 요구한다. 예를 들어 함수를 호출하려면 해당 함수가 정의된 클래스나 이름, 또는 파라미터 타입을 알아야 한다. 그러나 Annotations과 reflection를 사용하면 이러한 제약에서 벗어나 미리 알고있지 않은 임의의 클래스를 다룰 수 있게 해준다. 애노테이션: 라이브러리가 요구하는 의미를 클래스에게 부여할 수 있음 리플렉션: 실행(runtime) 시점에 컴파일러 내부 구조를 분석할 수 있음 #애노테이션 선언과 적용 애노테이션의 핵심 컨셉은 코틀린에서도 비슷하다. 애노테이션은 추가적인 메타데이터를 선언할 때 사용할 수 있게 해준다. 메타데이터는 소스코드나 컴파일된 클래스 파일, 또는..
이번 장에서는 제네릭에 대한 자세한 설명과 함께, 코틀린에서 새롭게 도입된 컨셉을 살펴볼 것이다. reified type parameter와 declaration-site variance등의 새로운 개념에 대해서 학습해보고자 한다. #제네릭 타입 파라미터 제네릭은 타입 파라미터를 정의내릴 수 있도록 도와준다. 인스턴스가 생성되는 순간, 타입 파라미터는 타입 인수로 변경된다. 예를 들어, Map라고 선언한 후 Map와 같이 특정한 인자로 변경할 수 있다. //string을 인자로 넘겨주기 때문에 자동으로 List val authors = listOf("Dmitry", "Svetlana") //빈 리스트를 생성하기 때문에 List라는 것을 명시적으로 표시 val readers: MutableList = mu..
Researcher Cathy
'📱Kotlin/[GDSC] Kotlin in Action 스터디' 카테고리의 글 목록 (3 Page)