본문 바로가기

Android/안드로이드 스터디(Kotlin)61

Kotlin] 8. 객체 자바에서는 원형클래스를 이용해 객체를 정의했다. 그럼 코틀린은? 코틀린도 비슷한 형태로 정의하는데, object 라는 키워드를 통해 객체를 정의한다. fun main(args: Array): Unit { val person = object { val name : String = "홍길동" val age : Int = 33 } println(person.name) println(person.age) } 다음과 같이 객체 명을 정하고, object 키워드를 붙인다. 이후 괄호 속에 객체의 속성을 정의한다. 객체를 호출할때 객체명.속성명 으로 간단하게 객체 속성을 호출할 수 있다. 자바랑 마찬가지로 class 속성을 통해 객체의 속성을 미리 정해둘 수도 있다. - object / ObjectExample.kt.. 2020. 12. 4.
Kotlin] 7. 가변인수 또 하나의 개쩌는 시스템.. 마치라잌 행렬같은데 행렬같지 않은 것... 함수를 선언할때 매개변수 안에 varang 이라는 키워드를 붙이면 이 변수의 값이 몇 개가 되던 상관이 없어진다(!) fun main(args: Array): Unit { println(getSum(1,2,3,4,5)) println(getSum(1)) println(getSum()) } fun getSum(vararg number : Int) : Int{ val count = number.size var i=0 var sum = 0 while(i 2020. 12. 4.
Kotlin] 6. 디폴트 인수 자바랑 다르게 혁신적인거 하나 더있음(!) 함수를 선언할 때 값을 못 받아오면 디폴트로 값을 정해줌 개쩐다.. fun main(args: Array): Unit { println(getAverage(20,12)) println(getAverage()) } fun getAverage(a : Int = 10, b : Int = 10) : Double { return(a+b)/2.0 } 결과 : 16.0 10.0 main 함수 내에 보면 두번째 함수는 아예 인수 없이 호출하고 있는데 오류 없이 값이 호출된다. 인수를 못 받을 경우 디폴트 인수가 인수로 적용되기 때문이다.. 아 이래서 코틀린이 null이나 오류가 잘 안난다는거구나 진짜 혁신이다 정말... 2020. 12. 4.
Kotlin] 5. Unit? 기본적으로 우리가 자바에서도 private int function() {}를 사용하듯이, 코틀린도 함수를 선언할때 리턴 타입을 선언한다. fun getAverage(a : Int, b : Int) : Double { return(a+b)/2.0 } 다음 함수는 리턴 타입을 Double 타입으로 선언한 상태이다. 그런데, 자바에서는 private void function() {} 처럼 리턴 타입을 선언하지 않는 경우가 있다. 그렇다면 코틀린은 이걸 어떻게 해결할까? 바로 Unit 타입을 선언한다. fun cToF(celsius: Int): Unit { println (celsius * 1.8 +32) } 다음처럼 Unit 타입을 선언해두면 아무것도 리턴하지 않아도 된다. 실질상으로는 이렇게 해둔다고 해서 .. 2020. 12. 4.
반응형