728x90
반응형

코틀린 이란?

- Jetbrains 사에서 개발 하였다 (Android Studio를 다운받을때 사용한 곳)

- 2017년에 안드로이드 공식지원언어로 채택되었다 (원래 Java밖에 없었는데 Kotlin이 추가됨)

 

코틀린이 좋은 이유

- 문법이 간결하며, 표현력이 좋다

- Null safe 언어이다

- 기존 라이브러리와 상호운용성이 좋다 (자바와 100% 호환이 된다)

 

코틀린에서 변수 선언하는 방법

 

1. var/val 변수명 = 값

 

var은 variable의 축약어, val은 valuable의 축약어

둘 중에 아무거나 고르는 것이 아니라 서로 차이가 있다.

var은 마음대로 원하는 것을 넣을 수 있다.

val은 한 번 넣으면 바꿀 수 없는 변수 선언명.

 

var num = 10
val hello = "안녕하세요"

 

2. var/val 변수 : 자료형 = 값

var number1 : Int = 20
var hello1 : String = "Hello"
var point1 : Double = 3.4

 

2가지 변수 선언법에서 알 수 있는것은 코틀린은 2번과 같이 자료형을 적어주지 않을경우 알아서 자료형을 정한다.

 

코틀린에서 프로그램이 작동하는 곳

: 실행되는 부분의 코드는 다음과 같다.

fun main(args:Array<String>){

    
}

여기 안에 코드를 입력하면 된다.

 

Run을 실행하고 싶은데 안보이는 경우가 있을 수 있다. 이럴때는 [File]->[Settings]에서 Deployment를 검색해서 둘 다 체크해주면 된다. 

 

변수 활용 

var a = 1+2+3+4+5
var b = "1"
var c = b.toInt()//b를 int로 바꾼값이 저장됨
var d = b.toFloat()//d에는 1.0이 있음

var e = "John"
var i = "My name is $e Nice to meet you"

fun main(array:Array<String>){
    println(a)
    println(b)
    println(c)
    println(d)
    println(e)
    println(i)
}

3번째 줄에서 toInt()와 4번째 줄의 toFloat()는 각각 int와 float로 바꾸어주는 것이다. 

 

그리고 변수 e는 John으로 들어가있고 i 문자열에서 $e를 써서 대입할 수 있다.

 

//var abc : Int = null
var abc1 : Int? = null

자료형 뒤에 ?를 붙이면 null을 가질 수 있는 자료형이 된다.

 

함수

함수
 -어떤 input을 넣어주면 어떤 output 나오는 것

함수를 선언하는 방법
fun 함수명 (변수명: 타입, 변수명: 타입....) : 반환형{
  함수내용
  return 반환값
}

fun plus(first:Int,second:Int):Int{
    val result : Int = first+second
    return result
}
fun main(array:Array<String>){
    val result = plus(5,10)
    println(result)

    val result2 = plus(first=20,second=30)
    println(result2)
}

 

디폴트 값을 갖는 함수 만들기

fun plusFive(first:Int,second:Int=5):Int{
    val result:Int = first+second
    return result
}

main에서 plusFive함수를 실행하면 된다. second인수를 주지않으면 자동으로 디폴트 값인 5가 들어가서 계산된다.

 

반환값이 없는 함수 만들기

fun printPlus(first:Int,second:Int):Unit{
    val result:Int =first+second
    println(result)
}

반환값 입력받는 공간에 Unit으로 두면 반환값 없이도 함수를 만들 수 있다. Unit은 생략이 가능하다.

 

위와 같은 사실에서 우리는 main함수에 대해서 유추해 볼 수 있다. 

fun main(array:Array<String>){

여기서 array변수는 Array<String> 타입의 변수라는 것을 알 수 있다. 그리고 이 함수에는 반환값이 없다는 것도 알 수 있다.

 

간단하게 함수를 선언하는 방법

fun plusShort(first:Int, second:Int) = first+second

 

가변인자를 갖는 함수 선언하는 방법

fun plusMany(vararg numbers: Int) {
    for (number in numbers){
        println(number)
    }
}
fun main(array: Array<String>) {
    plusMany(1,2,3)
}

 

내부 함수 : 함수 안에 함수가 있다.

fun showMyPlus(first:Int,second:Int):Int{
    fun plus(first:Int,second:Int):Int{
        return first+second
    }
    return plus(first,second)
}

 

728x90
반응형

'App > Android' 카테고리의 다른 글

RecyclerView  (0) 2021.08.25
Fragment  (0) 2021.08.23
Intent  (0) 2021.08.23
첫 프로젝트 만들기  (0) 2021.03.07
안드로이드(Android) 개요와 설치  (0) 2021.03.03

+ Recent posts