전체 글(472)
-
[kotlin] kotlin 강의 properties1
kotlin 강의 properties properties 코틀린 클래스는 프로퍼티를 가질 수 있음 사용은 자바의 필드를 사용하듯이 하면 됨 프로퍼티 문법 - 전체문법var [:][=][][] [] -생략가능 예제 fun main(args: Array) { var obj = Address() println(obj.name) } class Address{ val name = "Kotlin" } 이코드를 바이트코드로 바꿔 자바 파일로 바꿔 보면 public final class TestKt { public static final void main(@NotNull String[] args) { Intrinsics.checkParameterIsNotNull(args, "args"); Address obj = ne..
2018.06.16 -
[kotlin] Class 상속
Class 상속 클래스는 다른 클래스를 상속하거나 상속 되어질 수 있다. 코틀린에서 클래스는 기본적으로 Any라는 최상위 클래스를 상속하고 있다. 하지만 명시적으로 생략가능하다. 기초적인 상속 class Example1 //암시적으로 Any 상속 class Example2:Any()//명시적으로 Any 상속 Any 함수는 세개의 함수 equals, hashCode, toString등 으로 이루어져있다. 상속 방법 open을 통해서 상속 가능하게 한다. open class AA{ //모든 클래스는 원래 final형태이지만 open을 통해 바꾸어 주어야한다. } class BB:AA(){ } 파생클래스에 기본 생성자가 없으면 각각의 보조 생성자에서 사위타입을 super 키워드를 이용해서 초기화 해주어야 한다..
2018.06.15 -
[kotlin]Class
Class class 선언하기 클래스는 class 키워드로 선언한다 1. 클래스 이름 2. 클래스 헤터(매개 변수, 기본 생성자) 3.클래스 body(중괄호{}) class Invoice { } 헤더와 바디는 옵션이고, 바디가 없으면 {} 생략가능하다. class Empty 기본생성자 -클래스 별로 1개만 가질 수 있음 -클래스 헤더의 일부 -클래스 이름 뒤에 작성 class Invoice constructor(name:String){ }위와 같이 기본생성자를 만들 수 있다. 그리고 어노테이션이나 접근지정자가 없을 때는, 기본생성자의 constructor 키워드를 생략가능하다. class Invoice (name:String){ }class Customer public @Inject constructor..
2018.06.15 -
[kotlin]Return and Jumps (break 문, continue 문, return 문)
Return and Jumps 코틀린에서는 자바와 같이 break, continue, return을 동일하게 사용한다. 하지만 몇가지 다른 점이 있는데 이를 알아보자!! Label -Break, Continue loop@ for(i in 1..10){ for (j in 1..10){ println("$i + $j ") if (i+j>12) break @loop } }원래 같이 @loop가 없다면 2번째 반복문이 조건에 만족했을 때 break되지만 @loop라는 라벨을 지정해주면 최상위의 반복문이 종료된다. 라벨의 이름은 아무 이름이나 써도 된다. Continue에서도 동일하게 사용할 수 있다. forEach case1 fun foo(){ var ints = listOf(0, 1, 2, 3, 4, 5) i..
2018.06.15 -
[kotlin]코틀린 controlFlow
코틀린 controlFlow If~ else~ 문 if else문을 java와 비교하면 대부분 비슷하지만 차이두어 유용한 기능들이 몇가지 있다. fun main(args:Array){ //한줄 바로 대입 val a = 1 val b = 2 val max = if (a > b) a else b println(max) //block 대입가능 val test2 = if (a > b){ println("choose A") a }else { println("choose B") b } //제일 마지막 값이 반환한다. println(test2) //삼항연산자 제외 //Java int max = (a>b) ? a:b; val test3 = if(a>b) a else b } 5번줄 처럼 변수에 한줄로 이러한 코드를 입력..
2018.06.15 -
[kotlin]코틀린 BasicType
BasicType 기본타입코틀린에서 모든 것은 객체입니다. 모든 것에 함수나 프로퍼티 호출가능하다는 특징들이 있다. 숫자 -kotlin -java Double 64bit double 64bit Float 32bit float 32bit Long 64bit long 64bit Int 32bit int 32bit Short 16bit short 16bit Byte 8bit byte 8bit char 16bit 코틀린에서는 문자를 숫자처리하지 않는다. 그러므로 char형에 숫자를 넣을 수 없다. 리터럴 자바와 비슷하지만 8진수를 지원하지 않는다. 2진수 -> 0b 16진수 -> 0x Long -> 123L Double -> 123.5 float -> 123.5f 그리고 숫자를 표현할 때 underBar를 사용..
2018.06.14