반응형 코틀린/코틀린 공식문서9 [코틀린 공식문서] Scope functions 들어가기 전에 해당 블로깅은 코틀린 공식문서의 Scope functions를 번역하며 학습한 내용입니다. 학습 중임에 따라 이해하는데 도움이 되는 부분들을 추가되고 의역된 부분이 있습니다. 혹시 잘못된 설명이 있다면 얼마든지 제보해 주세요. 코틀린 표준 라이브러리에는 객체 콘텍스트 내에서 코드 블록을 실행하는 것이 유일한 목적인 함수가 있다. 람다 식이 제공된 객체에서 이러한 함수를 호출하면 임시 범위가 형성된다. 이 범위에서는 이름 없이 개체에 액세스 할 수 있고, 이러한 함수를 범위함수(scope Function)이라고 한다. 범위 함수에는 let, run, with, apply, also가 있다. 이 함수들은 모두 객체에 대한 코드 블록을 실행하는 동일한 작업을 수행한다. 그러나 객체를 블록 내에서.. 2023. 9. 15. [코틀린 공식문서] Nested and inner classes; 중첩 및 내부 클래스 들어가기 전에 해당 블로깅은 코틀린 공식문서의 nested and inner classes를 번역하며 학습한 내용입니다. 학습 중임에 따라 이해하는데 도움이 되는 부분들을 추가되고 의역된 부분이 있습니다. 혹시 잘못된 설명이 있다면 얼마든지 제보해 주세요. 클래스는 다른 클래스에 중첩될 수 있다. class Outer { private val bar: Int = 1 class Nested { fun foo() = 2 } } val demo = Outer.Nested().foo() // == 2 중첩과 함께 인터페이스를 사용 할 수 도 있다. 인터페이스-클래스간 모든 중첩이 가능(클래스-인터페이스, 인터페이스-클래스, 인터페이스-인터페이스) interface OuterInterface { class I.. 2023. 8. 13. [코틀린 공식문서] Inheritance; 상속 들어가기 전에 해당 블로깅은 코틀린 공식문서의 Inheritance를 번역하며 학습한 내용입니다. 학습 중임에 따라 이해하는데 도움이 되는 부분들을 추가되고 의역된 부분이 있습니다. 혹시 잘못된 설명이 있다면 얼마든지 제보해 주세요. Inheritance 상속 Any는 모든 클래스의 공통적으로 상위 클래스이다. (더 이상 슈퍼 타입이 존재하지 않음) class Example // Implicitly inherits from Any Any에는 euals(), hashCode(), toString() 세 가지 메서드가 있고, 따라서 모든 코틀린 클래스에 대하여 해당 메서드가 정의되어 있다. 기본적으로 코틀린 클래스는 final로 지정되어 있고, 상속이 될 수 없다. 상속을 가능하게 만들려면 open 키워드.. 2023. 8. 13. [코틀린 공식문서] Classes; 클래스 들어가기 전에 해당 블로깅은 코틀린 공식문서의 Classes를 번역하며 학습한 내용입니다. 학습 중임에 따라 이해하는데 도움이 되는 부분들을 추가되고 의역된 부분이 있습니다. 혹시 잘못된 설명이 있다면 얼마든지 제보해 주세요. 클래스는 키워드를 사용하여 선언된다. class Person { /*...*/ } 클래서 선언은 클래스 이름, 클래스 헤더(매개변수, 기본 생성자 및 기타 항목 지정) 및 중괄호로 둘러싸인 클래스 본문으로 구성된다. 헤더와 본문은 모두 선택사항이라, 클래스에 본문이 없다면, 중괄호를 생략할 수 있다. class Empty Construcotrs 생성자 코틀린 클래스는 기본 생성자와 하나 이상의 보조 생성자가 있을 수 있다. 기본 생성자는 클래스 헤더에 선언되며, 선택적 형식의 매.. 2023. 8. 10. [코틀린 공식문서] High-order functions and lambdas; 고차함수 및 람다 들어가기 전에 해당 블로깅은 코틀린 공식문서의 High-order functions and lambdas를 번역하며 학습한 내용입니다. 학습중임에 따라 이해하는데 도움이 되는 부분들을 추가되고 의역된 부분이 있습니다. 혹시 잘못된 설명이 있다면 얼마든지 제보해주세요. 코틀린에서 함수는 일급객체(first-class)이므로 변수와 데이터 구조에 저장할 수 있으며, 다른 고차 함수에서 반환될 수 있다. (함수에 함수가 아닌 값에 대해 가능한 모든 작업을 수행할 수 있다.) 이를 용이하게 하기 위해, 코틀린은 정적으로 타입이 지정된 프로그래밍 언어로서 함수를 나타내기 위한 함수 유형 계열을 사용하며, 람다 표현식 같은 특수한 언어 구조를 제공한다. High-order functions 고차함수 고차함수는 함수.. 2023. 7. 31. [코틀린 공식 문서] Functions; 함수 들어가기 전에 해당 블로깅은 코틀린 공식문서의 Functions를 번역하며 학습한 내용입니다. 학습중임에 따라 이해하는데 도움이 되는 부분들을 추가되고 의역된 부분이 있습니다. 혹시 잘못된 설명이 있다면 얼마든지 제보해주세요. Functions | Kotlin kotlinlang.org Functions fun 키워드로 정의 할 수 있다. fun double(x: Int): Int { return 2 * x } 표준 접근 방식을 통하여 호출할 수 있다. val result = double(2) Parameters 파라미터는 파스칼 표기법을 통해 [이름: 타입]의 형식으로 정의해야 하며, 타입은 반드시 정의되어야 한다. 파라미터의 구분은 쉼표로 이루어 지는데, 후행쉼표(trailing comma)도 사용이.. 2023. 7. 27. [코틀린 공식문서] Extensions; 확장 해당 블로깅은 코틀린 공식문서의 Classes and objects의 Extensions를 번역하며 학습한 내용입니다. 학습중임에 따라 추가되고 의역된 부분이 있습니다. 혹시 잘못된 설명이 있다면 얼마든지 제보해주세요. Extensions | Kotlin kotlinlang.org Extensions 코틀린은 데코레이터와 같은 디자인 패턴을 사용하지 않고, extension을 통해 클래스나 인터페이스에 새로운 기능을 추가할 수 있다. 예를들어, 수정할 수 없는 서드파티 라이브러리의 클래스나 인터페이스에 대해 새로운 함수를 작성 할 수 있다. 이러한 함수는 원래 클래스의 매소드인것 처럼 일반적인 방식으로 호출 할 수 있다. 이러한 매커니즘을 extension function이라고 한다. 또한, 클래스에 대.. 2023. 7. 27. 이전 1 2 다음 728x90 반응형