반응형

이 게시물은 다음 링크를 참조하여 학습했습니다.

 

1. 함수

Kotlin에서 기본 함수는 아래처럼 사용한다. 

Unit은 반환형이 없다는 것을 의미하고 Java에서의 void와 같다.

fun function() : Unit{

}

 

반환형, 인자가 있을때는 아래처럼 사용하면 된다

fun add(a: Int, b: Int) :Int{
	return a+b
}

 

2. val vs var

val은 Java에서 final키워드를 사용한 것과 같다.

val -> 읽기만 허용

var -> 읽기, 쓰기 허용

 

3. NonNull / Nullable

3-1. ?

Kotlin에서 변수들은 기본적으로 null값을 허용하지 않는다.

처음에 값을 입력하지 않고 나중에 값을 입력해서 사용할 때 null값을 넣을 상황이 생길수도 있는데, 이럴 때 변수 타입 뒤에 ?를 붙여주면 null값을 넣어줄 수 있다.

var nullName : String? = null

 

3-2. ?:

엘비스 연산자라고도 하는데, 변수의 값이 null값이면 ?: 뒤의 값을 사용하고, null값이 아니면 입력 받은 값을 사용한다.

val lastName : String? = null
val fullName = name + " " + (lastName?: "No LastName")

 

3-3. !! 

nullable 변수를 사용할 때, null이 아님을 의미한다.

var nullName : String? = null
println(nullName!!)

 

4. Class

Class는 아래처럼 사용한다.

기존에 Java에서 Class를 만들고, Class이름으로 생성자를 만들었던 것과 다르게 Kotlin에서는 init{ ... }, constructor{ ... }을 통해 생성자를 만들 수 있다.

class Human(val name : String = "Seminzzang"){
	// default 생성자
	init{

	}
    
	// 보조 생성자
	constructor(name: String, age: Int) : this(name){

	}

	fun helloWorld(){
		println("Hello World!")
	}
}

 

상속을 할 때는 아래처럼 사용하면 되고, 클래스는 한개만 상속받을 수 있다.

class Korean : Human(){

}

 

상속 받기 위해서는 아래처럼 상속할 클래스를 open class로 만들어줘야 하며, 클래스의 메서드도 open fun으로 지정해줘야 한다.

open class Human(val name : String = "Seminzzang"){
	// default 생성자
	init{

	}
    
	// 보조 생성자
	constructor(name: String, age: Int) : this(name){

	}

	open fun helloWorld(){
		println("Hello World!")
	}
}
반응형

'Legacy' 카테고리의 다른 글

[Kotlin #3] Collections  (0) 2022.05.16
[Kotlin #2] 고급문법  (0) 2022.05.11
[Java#7] Queue, Deque, PriorityQueue  (0) 2022.05.04
[Java#6] Stack  (0) 2022.05.04
[Java#5] Set, HashSet, TreeSet  (0) 2022.05.03

+ Recent posts