fun sum(one: Any): Int?{
if(one is String){
//이 블록에서는 "one"를 자동으로 'String'으로 변환
return one.lenth
}
//타입 검사 블록 밖에서 'one'는 여전히 'Any'타입
return null
}
코틀린 활용하여 기존의 자바와 비교해보는 시간을 가지겠습니다.
함수 정의
C에서 함수 선언
int sum(int a, int b){
return printf(sum);
}
Java에서 메서드 선언
public static void(){
System.out.println(sum);
}
코틀린에서 함수 선언
fun sum(a: Int, b: Int): Int{
return printf(sum)
}
각 언어에서 다양한 차이점을 보여준다
자바에서 사용하던 public 은 코틀린에서는 사용하지 않는다 또한 자바에서 출력 시마다 사용하던 "System.out." 이 부분은 생략이 가능해졌다.
위항 목에서는 두 개의 Int, 파라미터와 리턴 타입이 sum을 출력하는 함수가 있다. 이 부분 역시 차이를 보여준다 c언어 나 자바에서는 Int a; 또는 Int a = 300; 이러한 형태로 사용되는 반면 코틀린에서는 a :Int 또는 a:Int = 300 과같은 형태로 사용된다.
로컬 변수
위에서 잠깐 등장하였지만 코틀린에서는 변수 선언역시 달라졌다.
val a: Int = 1
val b = 2
val c: Int
c=3
차이점이 보이는가?
우선 기존의 언어들과는 다르게 세미콜론 ";"을 생략하였다 자바스크립트와 흡사하게 "val" 타입을 변수 뒤에 적어준다
자바에서 종단 변수를 사용할때
final static int x = 5;
위와 같이 종단변수를 선언하였다 하지만 코틀린에서는 더욱더 간단하게 표기한다.
val x = 5
코틀린에서는 간단하게 val 사용만으로 종단 변수 효과를 볼 수 있다
var 와 val의 차이는 무엇일까?
var x = 1 //읽기 / 쓰기가 가능한 일반 변수
val x = 2 //읽기만 가능한 final 변수
var와 val 은 읽기 쓰기 권한에서 차이를 보인다. var로 선언한 변수는 가변 함수로 언제든지 값을 읽고 쓰기가 가능합니다. 하지만 val로 선언한 변수는 불변 변수로 선언한 이후 읽기만 가능합니다.
타입 검사와 자동 변환
코틀린에서 Is 연산자가 추가 되었습니다. 이 연산자는 식이 타입의 인스턴스인지 검사합니다.
fun sum(one: any): Int?{
if(one is String){
//이 블록에서는 'one'를 자동으로 'string'으로 변환
return one.lenght
}
//타입 검사 블록 밖에서 'one'는 여전히 'any' 타입
return null
}
'is' 연산자를 사용하면 위와 같은 검사도 가능합니다.
이처럼 코틀린을 자연어에 한층 가까워진 모습을 보입니다. 다음 시간에는 코틀린 문서를 활용하여 직접 코딩해보는 시간을 가지도록 하겠습니다,
본 내용은 코틀린 공식 홈페이지를 참조하였습니다.
'Security > Android' 카테고리의 다른 글
[Android] 애니메이션 적용방법(물방울 애니메이션) (0) | 2019.08.31 |
---|---|
[Android] setVisibility 활용법 (VISIBLE, INVISIBLE, GONE) (0) | 2019.08.29 |
구글 플레이 콘솔 업로드를 위한 안드로이드 Debug , release 알아보기 (0) | 2019.08.09 |
댓글