Kotlin- 기본문법

Young Soo Oh·2023년 7월 16일
0

kotlin

목록 보기
1/8
post-thumbnail

기본문법

var 과 val 의 차이점

  • var(variable) 변할수있는 값
  • val(value) 변할수 없는 값
var number: Long = 1L // Long number = 1L;
val number: Long = 1L // final Long number = 1L;

Tip !

모든 변수는 일단 val 로 만들고 꼭 필요한 경운 var로 변경한다.

코틀린에서는 알아서 long(primitive type) 또는 Long (reference type)를 자동으로 알아서 판단하에 적용해준다. 이 말은 즉, 프로그래머가 boxing unboxing 고려할필요없다.

reference type [예) Long, Integer, .. DOUBLE ] 은 null 이 허용된다.

? 를 넣어준다.

val number: Long? = 1L

객체 인스턴스 할 때는 new 를 쓰지 않는다.

function

fun startsWithA(str: String): Boolean{
	return str.startsWith("A");
}

safe call

null 이 아니면 그냥 실행하고, 널이면 전체가 널

val str:String? = "ABC"
// println(str.length)-- error
println(str?.length) //-- str 이 null이면 전체가 null

Elvis 연산자

앞의 연산 결과가 null 이면 뒤의 값을 사용

val str: String? = null
str?.length ?: 0; //-- 0 

예제

fun calculate(number: Long?): Long {
	number ?: return 0;
}

fun notNull(str:String?): Boolean{
return str!!.startsWith("A") //-- 절대 str 이 null이 아닐때 쓰임 만약 널이 들어오면 NPE

플랫폼 타입

코틀린에서 Java 코드를 가져다 사용할 때 어떻게 처리될까?

val person = Person("공부하는 개발자")

fun startWithA(str: String): Boolean{
	return str.startsWhith("A")
}

public class Person{
	private final String name;

	@NotNull // @Nullable 일때는 에러 
	public String getName(){
	return name;
		}
}

0개의 댓글