본문 바로가기
🖥 Programming/📱 Android (Java)

[Android] Kotlin 기초 문법

by MinChan-Youn 2021. 6. 3.

1. 함수

fun main(args: Array<String>{
	println("Hello World!")
}

함수를 다음과 같이 동일하게 사용할 수 있다.

(식이 본문인 함수에서는 반환 타입을 생략 가능)

fun fun1(n1: Int, n2: Int): Int{
	return if(n1 > n2) n1 else n2
}

fun fun2(n1: Int, n2: Int): Int = if(n1 > n2) n1 else n2

fun fun3(n1: Int, n2: Int) = if(n1 > n2) n1 else n2

 

2. 변수

var num1: Int = 1
var num2 = 2
var str1 = "문자열1입니다."
var str2: String
str2 = "문자열1입니다."
var test //error

변수를 선언하는 키워드는 'var', 'val' 두가지가 있다.

'var' 변경가능한 변수, 자바에서 일반적인 변수(다른 타입으로 변경 불가)

'val'변경 불가능한 변수, 자바에서 final

 

var value1 = 1
val value2 = 1

 

3. 문자열 템플릿

코틀린에서는 $기호를 이용하여 변수를 문자열 안에 사용 가능!

(중괄호를 사용하여 변수를 감싸는 것이 더 좋음)

var strText = "Hello"
println("$strText World!")
println("${strText} World!")

var num = 1 + 2
println("num: ${num}")
println("num: ${3 + 5 + 5}")

println("Max num is ${if(2 > 1) 2 else 1}")

 

 

4. 클래스와 프로퍼티

코틀린에서는 기본은 public이며 생략이 가능

프로퍼티를 정의하면서 var, val를 나누어 사용 가능한 프로퍼티, 읽기전용 프로퍼티인지 나타냄

class Person(val name: String)

 

예제1

class Person(val name: String, var isMarried: Boolean)

fun main(args: Array<String>){
  val person = Person("Chani", false)

  println(person.name)
  // Chani

  println(person.isMarried)
  //false
}

예제2

-객체의 이름에 직접 접근 시 그에대한 get를 코틀린이 호출함, 다음과 같이 만들 수 있음

class Rect(val height: Int, val width: Int){
  val isSquare: Boolean
  get(){
  	return height == width
  }
}

fun main(args: Array<String>){
  val rect1 = Rect(5, 4)

  println(rect1.isSquare)
  // false

  val rect2 = Rect(4, 4)
  println(rect2.isSquare)
  // true
}