분류 전체보기 889

코틀린(kotlin) : Inline Function 인라인 메서드

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 Inline Function 에 대해 공부합니다. Inline Functions고차 함수를 사용하게 되면 런타임 시 특정 패널티가 부과됩니다.각 메서드는 객체이고, 메서드의 body 에서 엑세스 되는 변수인 closure를 캡처 합니다.메모리 할당과 가상 호출은 런타임 오버 헤드를 초래합니다. 하지만, 많은 경우에 이런 오버 헤드는 람다 식을 inlining 함으로써 제거될 수 있습니다.아래의 함수가 이러한 상황의 좋은 예입니다.lock(l) { foo() }매개 변수에 대한 함수 객체를 만들고 호출을 생성하는 대신 컴파일러에서 다음..

코틀린(Kotlin) 2018.02.06

코틀린(kotlin) : Lambda 고차함수와 람다, 익명 함수

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 람다에 대해서 공부합니다. Higher - Order Function : 고차함수고차 함수는 메서드의 파라미터로 또 다른 메서드가 있거나, 메서드를 리턴하는메서드를 말합니다. 좋은 예가 lock() 메서드 입니다.fun lock(lock: Lock, body: () -> T): T { lock.lock() try { return body() } finally { lock.unlock() } }위 코드를 보게되면 body 는 () -> T 라는 타입을 가집니다.그래서 이 body 는 파라미터를 가지지 않고 T 타입의 값을 반환하는 함수..

코틀린(Kotlin) 2018.02.06

코틀린(kotlin) : 메서드 Function

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 코틀린 메서드에 대해 공부합니다. FunctionsFunction Declarations : 메서드 선언코틀린에서는 메서드 선언 시 앞에 fun 키워드를 사용합니다.fun aaa() : String { return "it's AAA()" }Function Usage : 메서드 사용메서들를 호출할 때 전통적인 접근 :var a = aaa()멤버 메서드일 경우 dot notation을 사용해서 호출 fun main(args: Array) { var a = AAA().aaa() // 인스턴스의 생성과 동시에 사용 } class AAA { ..

코틀린(Kotlin) 2018.02.05

코틀린(kotlin) : 객체 표현식과 객체 선언 Object Expression and Declaration

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 객체의 표현식과 선언에 대해 공부합니다. 우리는 때때로 새로운 클래스를 명시적으로 선언하지 않고, 클래스를 약간 수정한객체를 만들어야 합니다.자바에서는 이런 경우 익명 구현 객체로 처리합니다.코틀린에서는 객체 표현식과 객체 선언으로 개념을 약간 일반화합니다. Object Expression어떠한 타입으로부터 상속받은 익명 클래스의 객체를 생성할 때 아래와 같이 선언합니다.window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) {..

코틀린(Kotlin) 2018.02.05

코틀린(kotlin) : Nested Class, inner class, Enum Class 중첩, 내부, Enum 클래스

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 Nested Class, Inner Class, EnumClass 에 대해 공부합니다. Nested Class and Inner Class 중첩 클래스 클래스 내부에 또 다른 클래스를 중첩시킬 수 있습니다. fun main(args: Array) { val ccc = AAA.BBB().bbb() print(ccc) } class AAA { private val aaa: Int = 10 class BBB { fun bbb() = 100 } } 내부 클래스 클래스에 inner 마크를 선언하면 바깥 클래스의 멤버에 접근할 수 있게 됩니..

코틀린(Kotlin) 2018.02.05

코틀린(kotlin) : Data Class 와 Sealed Class

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 Data Class 와 Sealed Class 에 대해 공부합니다. Data Classes 우리는 데이터를 유지시켜놓기 위한 클래스를 자주 만듭니다. 자바를 예로 들면 DAO 가 있겠죠? class UserDao { private String name; private String id; public UserDao (String name, String id) { this.name = name; this.id = id; } } 처럼요. 이러한 클래스에서 일부 표준 메서드들과 유틸리티 메서드들은 data에 의해서 약간 변경될 수 있습니..

코틀린(Kotlin) 2018.01.31

코틀린(kotlin) : 확장 Extension

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 Extension 에 대해서 공부합니다. 코틀린은 클래스의 상속이나, Decorator 같은 디자인 패턴을 사용하지 않고,클래스에 새로운 메서드를 확장할 수 있도록 제공한다는 점에서C# 이나 Gosu 언어와 유사합니다. Extention functions클래스 또는 인터페이스에 메서드를 확장하는 방법은 간단합니다.fun 클래스이름.메소드이름(매개변수...) {// 코드....}MutableList 에 swap 이라는 메서드를 확장하는 예제입니다.fun main(args: Array) { val l = mutableListOf(1, 2..

코틀린(Kotlin) 2018.01.31

코틀린(kotlin) : 접근 제한자 - private, protected, internal, public

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 코틀린의 접근 제한자에 대해서 공부합니다.코틀린에서는 클래스, 객체, 인터페이스, 생성자, 메서드, 프로퍼티 그리고 setter 가 접근 제한자를 가질 수 있고 getter 같은 경우는 프로퍼티의 접근 제한자와 같은 제한을 가집니다. 총 4개의 접근 제한자가 존재합니다. privateprotectedinternalpublic 아무 접근 제한자도 선언하지 않으면 기본 값으로 public 접근 제한자를 가집니다. 패키지 클래스, 메서드, 프로퍼티, 객체, 인터페이스는 패키지 내부에 Top-level에 직접 선언 가능합니다.Top-leve..

코틀린(Kotlin) 2018.01.31

코틀린(kotlin) : 인터페이스 Interface

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 코틀린의 인터페이스에 대해서 공부합니다. 인터페이스코틀린의 인터페이스는 Java8 과 유사합니다.abstract 메서드를 선언할 수 있고, 메소드를 구현할 수도 있습니다.추상 클래스와 다른 점은 상태를 저장할 수 없다는 점입니다. 인터페이스의 선언 및 클래스의 인터페이스 상속 및 메서드 오버라이딩 interface BBB { fun aaa() fun bbb() { print("print BBB()") } } class AAA : BBB { var name = "aaa" override fun bbb() { print("print bb..

코틀린(Kotlin) 2018.01.30

한국자메이카전 축구 국가대표 평가전!! 2018년1월30일 화요일 저녁 8시

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 오늘 2018년 1월 30일 화요일 저녁 8시 우리 대한민국과 자메이카가 축구 국가대표 평가전을 합니다!!자메이카는 우사인 볼트 선수와 연예인 하하씨 덕분에???우리에게 조금은 익숙한 나라라고 생각되는데요 ㅎㅎ피파 랭킹은 우리가 59위 자메이카가 55위로 자메이카가 약간 우위에 있지만,역대 전적으로는 우리가 2승 1무 0패로 앞서고 있네요 ㅎㅎ 오늘도 이기길 기대해봅니다.시간도 적당하니, 다들 치맥 하시며 보면 어떨까 생각해봅니다~

아무거나 2018.01.30