코틀린(Kotlin) 40

코틀린(kotlin) : 코틀린에서 static 접근 companion object

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅은 간단하게 넘어갑니다.코틀린에서는 static 키워드가 없는데요.그렇다면 static 접근을 할 수 없는 걸까요? 당연히 아니겠죠?? ㅎㅎcompanion object { //여기에 static 접근을 허용할 프로퍼티나 함수등을 입력 } 간단한 예제를 보고 마무리하겠습니다.class NetworkUtils { companion object { val NOT_CONNECTED : Int = 0 val LTE : Int = 1 val WIFI : Int = 2 } } NetworkUtils 라는 코틀린 클래스를 만들고companion obje..

코틀린(Kotlin) 2018.02.13

코틀린(kotlin) : Type Aliases(1.1버전부터 나옴)

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 1.1버전에 새롭게 나온 Type aliases에 대해 공부합니다. Type aliases Type aliases 는 기존 타입에 대한 대체할 수 있는 이름을 제공합니다.만약 타입의 이름이 너무 길다면, 간단한 이름으로 변경할 수 있습니다. typealiases 는 제네릭 타입에 유용하게 사용할 수 있습니다.typealias usersInfo = MutableMap fun main(args: Array) { fun users(a : usersInfo) : usersInfo { a["이름1"] = "박성균" a["아이디1"] = "al..

코틀린(Kotlin) 2018.02.12

코틀린(kotlin) : Reflection 반사?, 코틀린에서 Reflection이란?

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 Reflection 에 대해 공부합니다.Reflection : 리플렉션은 런타임 시 자신의 프로그램 구조를 조사할 수 있도록 허용하는언어와 라이브러리 기능의 집합입니다. 코틀린은 언어에서 함수와 프로퍼티를 일급 시민으로 만들고, 런타임에 함수나 프로퍼티의 타입 또는 이름을 학습하는 것은 단순하게 함수적 스타일또는 반응적 스타일을 사용하는 것과 밀접하게 연관되어 있습니다. * 자바 플랫폼에서 Reflection 기능을 사용하는데 필요한 구성 요소는 kotlin-reflect.jar 파일로배포됩니다. 따로 배포하는 이유는 Reflecti..

코틀린(Kotlin) 2018.02.11

코틀린(kotlin) : how to use java.util.Scanner in Kotlin / 코틀린에서 자바 Scanner 클래스 사용 방법

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 제곧내입니다 ㅎㅎ코틀린에서 사용자로부터 입력 받는 방법은 2가지가 있습니다. 제목처럼 java.util.Scanner 클래스의 read()등의 메서드를 사용하던지,코틀린의 readLine() 메서드를 사용하면 됩니다. 1. java.util.Scanner 클래스 사용하기import java.util.* fun main(args: Array) { val scan = Scanner(System.`in`) print("Enter a message :") val input = scan.nextLine() print(input) } 2. 코틀린 readLine..

코틀린(Kotlin) 2018.02.10

코틀린(kotlin) : Annotations 어노테이션

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ AnnotaionsAnnotaion Declaration어노테이션은 코드에 메타데이터를 붙인다는 의미입니다.어노테이션을 선언할 때는 class 앞에 annotation 수정자를 붙여줘야 합니다.annotation class Ano Annotaion의 추가적인 속성은 annotaion class 에 meta-annotaion을 추가할 수 있습니다.- @Target 은 주석으로 될 수 있는 element들을 지정합니다.(클래스, 메서드, 프로퍼티, 표현 등등 )- @Retention 주석이 컴파일 된 클래스 파일에 저장되는지 여부와 런타임 시 반영을 통해..

코틀린(Kotlin) 2018.02.09

코틀린(kotlin) : Exceptions 예외 Throwable

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ Exceptions : 예외Exception Classes코틀린의 모든 예외 클래스는 Throwable 의 하위에 있습니다.그리고 모든 예외는 Message, stacktrace, cause 멤버를 가집니다. 예외 객체를 throw 하려면 throw-expression을 사용하면 됩니다.throw Exception("Hello world") 예외를 잡을 때는 try-catch 문을 씁니다. finally {}는 옵션입니다.try { } catch (e : Exception) { e.message } finally { } Try is an express..

코틀린(Kotlin) 2018.02.08

코틀린(kotlin) : Null Safety 널 세이프티

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 코틀린의 Null Safety 에 대해 공부합니다. Null Safety코틀린의 타입 시스템은 코드에서 null 참조가 발생하는 위험을 없애는 데에 목적이 있습니다. The Billion Dollar Mistake 라고도 불립니다. 자바를 포함한 많은 프로그래밍 언어에서 가장 일반적인 함정 중 하나는null 참조 멤버에 접근하면 null 참조 예외가 발생한다는 것입니다.자바에서 NullPointerException, 줄여서 NPE 와 동일합니다. 코틀린의 타입 시스템은 코드로부터 NPE를 없애는 데에 목적이 있습니다. NPE가 발생하..

코틀린(Kotlin) 2018.02.08

코틀린(kotlin) : 단항 연산자, 이항연산자, 여러 연산자

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 연산자에 대해 공부합니다. Operator overloading코틀린은 타입에 대해 미리 정의된 연산자 집합에 대한 구현을 허용합니다.이 연산자들에는 고정된 기호('+', '*'같은)와 고정된 우선 순위가 있습니다. 그리고 연산자 구현을 위해 고정된 이름의 멤버 메서드나 확장 메서드를제공합니다. 즉 연산을 원하는 타입.메서드 처럼 사용하면 됩니다. Unary operations : 단항 연산Unary prefix operators : 단항 접두사 연산자변수 a 가 있을 때표현 => 변환+a => a.unaryPlus() // 숫자는 ..

코틀린(Kotlin) 2018.02.08

코틀린(kotlin) : this 와 Equality

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 'this' 와 Equality 에 대해 공부합니다. This Expression현재 리시버를 나타내기 위해 우리는 'this' 를 사용합니다.- 클래스의 멤버에서 this는 현재 클래스 객체를 가리킵니다.- 확장 함수나 리시버가 있는 함수 리티럴에서 this 는 dot 왼쪽에 전달되는리시버 파라미터를 나타냅니다. 만약 'this'에 한정자가 없다면 가장 안쪽의 범위를 참조합니다.다른 범위를 참조하려면 label 한정자가 사용됩니다. Qualified this : 한정된 thisthis 를 통해 내부 범위에서 외부 범위로 접근하려면 ..

코틀린(Kotlin) 2018.02.08

코틀린(kotlin) : 타입체크 is 와 캐스팅 as Type Checks and Casts

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 타입 체크와 캐스팅에 대해서 공부합니다. is and !is 연산자is 나 !is 연산자를 사용하면 런타임에 객체가 주어진 타입을 따르는지 확인할 수 있습니다. val str = "str" if(str is String) println("good") if(str !is String ) println("not good") else println("good") Smart Casts컴파일러가 불변 값에 대해서 타입 체크와 명시적 캐스트 추적하고, 필요한 경우에자동으로 캐스팅을 하기 때문에 대부분의 경우 명시적으로 캐스팅 할 필요가 없습니다..

코틀린(Kotlin) 2018.02.07