분류 전체보기 889

코틀린(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

코틀린(kotlin) : Collections : List, Set, Map

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 Collections : List, Set, Map 에 대해 공부합니다. 많은 프로그래밍 언어들과는 다르게, 코틀린에서는 mutable 과 immutable 컬렉션(List, Set, Map)을 구분합니다.컬렉션을 정확하게 edit 할 수 있으면 버그를 제거하고, 좋은 API를 설계하는데유용합니다. mutable collection의 read-only view와 immutable collection의 차이점을이해하는 것이 중요합니다.둘 다 쉽게 생성할 수 있지만, 이 둘의 차이에 대해 시스템에서는 알려주지 않기 때문에이것의 추적은(관..

코틀린(Kotlin) 2018.02.07

코틀린(kotlin) : Destructuring Declaration

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 Destructuring Declarations 에 대해 공부합니다. Destructuring Declarations때때로 아래 예제처럼 객체를 여러 변수로 분리하는 것이 편리합니다.val (name, id) = member이러한 문법을 destructuring declaration 이라고 부릅니다.앞으로 DD 라고 표현하겠습니다.DD 는 여러 개의 변수를 한 번에 생성할 수 있습니다.그리고 사용할 때 각각 나눠서 사용할 수 있습니다.println(name)println(id)우리가 선언은 아래처럼 했지만val (name, id) =..

코틀린(Kotlin) 2018.02.06