Dev JS Blog

코틀린(Kotlin) 정리 - 1 본문

옛날 창고/안드로이드

코틀린(Kotlin) 정리 - 1

Dev JS 2021. 6. 7. 23:46
728x90

이번에 코틀린 언어도 공부해볼겸 코틀린으로 안드로이드를 개발해볼겸 

공부를 시작해봤다. ㅎㅎ


코틀린 멀티패러다임 언어 이다.

함수형 프로그래밍, 객체지향형 프로그램 언어이다.

기본적으로 세미콜론(;)을 쓰지 않는다.

var a = 20 // Int형으로 추론
var a: Int = 20 //Int형
var b = "Hello" // String형으로 추론
var b: String = //String형

var a: String // 초기화를 해주어야 사용이 가능하다.
a = "Hello"
var a: String? // null 사용가능. 초기화 안해도됨.
// function 은 fun 으로 사용한다.
fun sum(a: Int, b: Int): Int{ // 반환타입 Int
	return a + b
}

// 자바의 void와 같이 반환이 없을경우 Unit 로 해준다.
// Unit은 생략이 가능하다.
fun init():Unit{}

// return을 생략하여 표현이 가능하다.
fun sum(a: Int, b: Int): Int = a+b 

// Default 값을 설정할수있다.
fun sum(a: Int = 4, b: Int): Int = a+b

// vararg 를 이용하여 가변형인자를 받을수가 있다.
// fun(1,2) ==> 1+2  fun(1,2,3,4) ===> 1+2+3+4 가 된다.
fun avg(vararg numbers: Int): Int{
	var result: Int = 0
	for(num in numbers){
    	result += num
    }
    return result
}



 

람다식 (Lambda Expression) 이란?

익명함수의 하나. 이름없이 사용가능.

{x,y -> x+y}

 

함수형 프로그램밍의 장점 중 하나인것은

함수를 인자로 사용이 가능하다는 것이다.

// sumFunc에 들어오는 람다식함수는 Int,Int 두개의 변수를 받아 Int를 반환하는 함수이다.
// sum은 람다식을 받는 매개변수이다.
fun sumFunc(sum: (Int,Int)->Int, x: Int, y: Int): Int = sum(x,y)

// {x,y -> x+y} 라는 람다식함수를 넣어준다.
fun main(){
    println(" >> "+ sumFunc({x,y -> x+y},10,20))
}

// 결과) 30

 

세미콜론부터 안쓰는것부터 살짝 어색한 감이 있지만.

금새 또 여러번 쓰다보면 세미콜론 쓰는게 귀찮아 질 수도..? 

금방 또 적응하겠지.

확실히 어떤 한 언어라도 다룰 줄 안다면 습득 속도와 이해력 차이가 있다.

신입 개발자나 개발자를 준비하는 사람들이라면

이것저것 다 하려들지말고 뭐라도 한 언어라도 잘 다룰줄 알았으면 좋겠다. 

결국 다 개발 언어는 새로운 언어더라도 기존 과거부터 써왔던 언어들을 공부했던 사람들이

더 편하게 더 직관적이게(?) 개선하여 언어를 만들어 낸 것이기 때문에

결국 다 비스무리하게 쓴다. 웬만한 툴에서 (ctrl + z)가 되돌리기 국룰인 것처럼

(함수명 쓰는 문법 방식 등등) 차이는 그 언어의 사상이나

문법의 조금 차이이기 때문에 그 차이는 그때마다 찾고 공부하면 되는 것이고

한 언어라도 잘 다루게 되면 짬에서 나오는 바이브(?)로 습득을 금방한다.

새롭게 처음부터 공부하니 뭔가 취업준비 했던 때도 생각나고 재밌다. 

 

728x90
Comments