본문 바로가기

Dev/Kotlin

(5)
[부스트코스] 코틀린 프로그래밍 기본1 (4) 1. 람다식 선언 {x:Int, y:Int → x*y} 화살표를 기준으로 왼쪽에는 람다식의 매개변수, 오른쪽에는 함수의 내용과 반환값 만약 함수 내용에 표현식이 2줄 이상일 경우, 마지막 표현식이 반환값이 됨 람다식의 매개변수에 자료형이 지정되어 있다면 변수의 자료형 생략 가능 변환 자료형이 없을 때 ()->Unit = { println("Hello World!") } 람다 함수의 매개변수가 없을 때 (Int)->Int = { x -> x * x } 2. 람다식과 고차함수 호출 값에 의한 호출 함수가 인자로 전달될 경우 람다식 함수는 값으로 처리되어 그 즉시 함수가 수행된 후 값을 전달 람다식 이름을 사용한 호출 람다식 자체가 매개변수에 복사, 해당 함수가 호출되어 사용되기 전까지는 실행되지 않음 필요할..
[부스트코스] 코틀린 프로그래밍 기본1 (3) 1. 함수의 선언 fun 함수 이름([변수 이름: 자료형, 변수 이름: 자료형..] ): [반환값의 자료형] { 표현식... [return 반환값] } 매개변수는 반드시 콜론(:)과 함께 자료형을 명시 반환값이 있다면, 반환값의 자료형도 반드시 명시 반환값이 없다면, 반환값의 자료형을 Unit으로 지정하거나 생략 2. 최상위 함수 가장 밖에 있는 fun 값 같은 package에 들어있다면, 따로 import 없이 자기 파일에 함수 선언한 것처럼 사용 가능 3. 지역 함수 함수 안에 함수를 정의하는 방법 외부에서는 사용 불가, 함수 내부에서만 사용 4. 가변인자 인자의 개수가 변함 함수는 하나만 정의해두고, 여러 개의 인자를 받을 수 있음 5. 코틀린: 다중 패러다임 언어 함수형 프로그래밍(FP: Func..
[부스트코스] 코틀린 프로그래밍 기본1 (2) 1. 선언 키워드 - 변수 이름: 자료형 - 대입 연산자 - 값 2. 변수 이름 지을 때 주의사항 변수 이름은 숫자로 시작하면 안된다 변수 이름에는 코틀린에서 사용되는 키워드는 사용할 수 없다 변수 이름은 의미있는 단어를 사용해 만드는 것이 좋다 여러 단어를 사용해 변수 이름을 지을 경우 카멜 표기법 사용 3. 코틀린의 자료형 기본형(Primitive Data Type): 가공되지 않은 순수한 자료형 ex) int, long, float, double… 참조형(Reference Type): 객체를 생성하고 동적 공간에 데이터를 둔 다음 이것을 참조하는 자료형 ex) String, Date… 코틀린에서는 참조형만 사용, 코틀린 컴파일러에서 기본형으로 대체됨 4. 정수 자료형 양수, 음수, 0을 나타냄 부호..
[부스트코스] 코틀린 프로그래밍 기본1 (1) 1. Kotlin/JVM: 자바 가상 머신 상에서 동작하는 앱을 만들 수 있음 Kotlin/JS: 자바 스크립트에 의해 브라우저에서 동작하는 앱을 만들 수 있음 Kotlin/Native: LLVM 기반의 네이티브 컴파일을 지원해 여러 타깃의 앱을 만들 수 있음 2. main(): 최상위 함수, 실행 진입점 자바와 같은 객체지향 언어는 프로그램 실행을 위해 클래스와 main() 필요 코틀린은 클래스 없이 main() 함수 하나로 실행 가능 코틀린 프로그래밍 기본 1 부스트코스 무료 강의 www.boostcourse.org
[부스트코스] Hello, Kotlin! 코틀린의 특징 1. 정적 타입 언어(Statically Typed) 컴파일 시 변수의 '자료형(typed)'이 결정되어 안전함 정적 타입 ↔ 동적 타입 정적 타입: C, C++, Java, Kotlin... 동적 타입: JavaScript, Python, Objective-C, PHP... 단, Kotlin/JS 사용 시, 동적 타입 지원을 위해 dynamics 제공 자료형(type)을 명시하지 않아도 자료형 추론이 가능 2. Interoperable Java와 100% 호환(Kotlin/JVM) 코틀린 컴파일러는 자바 중간코드(ByteCode) 생성 이미 존재하는 자바 라이브러리를 그대로 이용 Java와 Kotlin을 섞어서 써도 됨 3. Null Safety NPE(Null Pointer Except..