Kotlin 기초 (2)
2023. 1. 1. 23:47ㆍ교내활동/Programming GURU2
반응형
- 함수
- 코틀린은 다중 패러다임 언어로 함수형 프로그래밍과 객체지향 프로그래밍이 가능함
- 함수형 프로그래밍을 하는 이유는 코드를 간략하게 할 수 있으며, 테스트나 재사용성이 증가함
- 순수 함수, 람다식, 고차함수를 사용해서 구성함
fun sum(a: Int, b: Int) { return a + b } // 간략한 버전 fun sum(a: Int, b: Int): Int = a + b fun sum(a: Int, b: Int) = a + b
- pure function (순수함수)
- 부작용이 없는 함수
- 동일한 입력 파라미터에 대해서는 항상 같은 결과를 출력하거나 반환함
- 값이 예측이 가능해 결정적임(deterministic)
- 순수함수의 조건
- 같은 인자에 대해 항상 같은 값을 반환함
- 함수 외부의 어떤 상태도 바꾸지 않음
fun sum(a: Int, b: Int) : Int { return a + b // 동일한 }
- lamda
- 익명 함수의 한 형태로 이름 없이 사용 및 실행가능
- 람다대수로부터 유래
- 람다식은 고차함수에서 인자로 넘기거나 결과값으로 반환하는 등의 작업이 가능함
- 변수에 람다식 적용 가능
fun main() { var result : Int val multi = {x: Int, y: Int -> x*y} // 일반 변수에 람다식 할당 result = multi(10, 20) // 람다식이 할당된 변수는 함수처럼 사용 가능 println(result) }
- 람다식은 {}로 감싸며 fun 예약어 사용 X
- {} 안 -> 의 왼쪽은 파라미터, 오른쪽은 함수의 내용을 작성
- -> 오른쪽 문장이 여러개라면 ;로 구분
- 내용 중 마지막 문장은 반환값(return)
buttonVar.setOnClickListener { // 버튼을 클릭하면 실행될 내용 }
- 고차함수(high-order funtion)
- 일반 함수를 인자나 반환값으로 사용
fun main() { println(highFunc({x, y -> x + y}, 10, 20)) // 람다함수를 인자로 넘김 } fun highFunc(sum: (Int, Int) -> Int, a: Int, b: Int) : Int = sum(a, b)
- 메소드
- 기본 메소드인 main() 함수 외에 사용자가 메소드를 추가할 수 있음
- 메소드를 호출할 때 파라미터를 넘길 수 있음
- 메소드에서 사용된 결과를 return 문으로 돌려줄 수 있음
- 변수
- 전역변수
- 모든 메소드에서 사용됨
- 지역변수
- 메소드 내부에서만 사용됨
- 전역변수
반응형
'교내활동 > Programming GURU2' 카테고리의 다른 글
Android layout 기초 (2) (0) | 2023.01.02 |
---|---|
Android layout 기초 (1) (0) | 2023.01.02 |
Kotlin 기초 (4) (0) | 2023.01.01 |
Kotlin 기초 (3) (0) | 2023.01.01 |
Kotlin 기초 (1) (0) | 2023.01.01 |