목록[Study]/Kotlin (25)
기록
람다함수를 이용한 특별한 기능인 스코프 함수에 대해 알아보자. 1. 람다함수의 특별한 케이스 1. 람다함수도 일반 함수처럼 여러개의 구문을 사용할 수 있다. fun main() { var c = {str: String -> println("$str 람다함수") println("여러 구문을") println("사용 가능합니다") } var calculate = {a:Int ,b:Int -> println(a) println(b) a+b } } 람다함수가 여러 줄이 되는 경우, 마지막 줄의 결과값이 반환값이 된다. 2. 파라미터가 없는 람다함수는 실행할 구문들만 나열하면 된다. fun main() { val a:()->Unit = {println("파라미터가 없어요")} val b = {"파라미터가 없어요"..
1. 고차함수 함수를 마치 클래스에서 만들어낸 인스턴스처럼 취급하는 방법. 함수를 '파라미터'로 넘겨 줄 수도 있고, '결과값으로 반환'받을 수도 있는 방법이다. 코틀린에서는 모든 함수를 고차함수로 사용 가능하다. 함수의 형식을 자료형으로 나타내는 방법 (파라미터 자료형들) -> 반환형 고차함수 형태로 파라미터를 넘기는 방법은 함수 이름 앞에 콜론을 두개 붙인다. ::는 일반함수를 고차함수로 변경해주는 연산자이다. fun main() { b(::a) } fun a(str: String) { println("$str 함수 a") } fun b(function: (String)->Unit) { function("b가 호출한") } 2. 람다함수 파라미터로 넘길 함수를 굳이 이름까지 붙여 만들어줄 필요가 있을..
변수나 함수, 클래스의 '공용 범위'를 제어하는 단위인 스코프와, 스코프 외부에서 스코프 내부로의 접근을 제한하는 접근제한자에 대해 알아보자. 1. 스코프 변수나 함수, 클래스와 같은 멤버들을 서로 공유하여 사용할 수 있는 범위를 지정해 둔 단위 1. 스코프 외부에서는 스코프 내부의 멤버를 '참조연산자'로만 참조가 가능하다. (클래스의 멤버를 참조할 때 클래스 외부에서 a.eat() 과 같이 접근) 2. 동일 스코프 내에서는 멤버들을 공유할 수 있다. val a = "패키지 스코프" class B { fun print() { println(a) } } fun main() { println(a) B().print() } default pakage에서 만드는 모든 멤버들은 같은 패키지 스코프에 포함된다. 변..
1. 프로젝트 코틀린으로 어플리케이션을 짤 때 관련한 모든 내용을 담는 '큰 틀' 2. 모듈 하나의 프로젝트는 여러개의 모듈로 이뤄질 수 있다. 모듈은 직접 만들 수도 있고, 필요한 기능을 이미 구현해 둔 '라이브러리 모듈'을 가져와 붙일 수 있다. 3. 모듈 안 하나의 프로젝트는 여러개의 모듈로 이뤄질 수 있다. 모듈은 직접 만들 수도 있고, 필요한 기능을 이미 구현해 둔 '라 모듈 안에는 다수의 폴더와 파일이 들어갈 수 있다.코틀린 코드파일(.kt) 뿐만 아니라 모듈과 관련된 설정 및 리소스 파일 등도 포함될 수 있다. 4. 패키지 위의 프로젝트, 모듈, 폴더 및 파일이 실제 파일 시스템에 기반한 물리적인 구조를 담당한다면 논리적인 구조로는 패키지가 있다. 패키지는 개발시에 소스 코드의 '소속'을 지..