Skip to content

Instantly share code, notes, and snippets.

@eyedroot
eyedroot / let.kt
Created July 21, 2019 12:03
kotlin ?.let 연산자
package my.demo
/**
* let 함수
*/
fun DrawBitmap(bitmap: Bitmap) {
println("DrawBitmap")
}
@eyedroot
eyedroot / NullPointer.kt
Created July 21, 2019 12:02
.? !! ?: Elvis Operator
package my.demo
/**
* 모든 참조 변수가 Null 값을 가질 수 있는 자바와 달리, 코틀린의 참조 변수는 기본적으로 null 값을 가질 수 없는 `Non-null` 타입!
*
* ### null이 반활 되는 경우가 더 자연스러운 경우
*
* 비트맵 이미지를 만들어 반환하는 CreateBitmap() 함수의 경우, 반환 값이 생성된 Bitmap 객체여야 하겠지만,
* 내부적으로 이미지 생성에 실패한 경우 생성되지 않은 Bitmap 객체를 반환하는 것 보다 Null을 반환하는 것이
* 대응하기에 훨씬 유리하다.
@eyedroot
eyedroot / NullPointer.kt
Created July 21, 2019 09:56
코틀린의 NullPointer
package my.demo
/**
* 모든 참조 변수가 Null 값을 가질 수 있는 자바와 달리, 코틀린의 참조 변수는 기본적으로 null 값을 가질 수 없는 `Non-null` 타입!
*
* ### null이 반활 되는 경우가 더 자연스러운 경우
*
* 비트맵 이미지를 만들어 반환하는 CreateBitmap() 함수의 경우, 반환 값이 생성된 Bitmap 객체여야 하겠지만,
* 내부적으로 이미지 생성에 실패한 경우 생성되지 않은 Bitmap 객체를 반환하는 것 보다 Null을 반환하는 것이
* 대응하기에 훨씬 유리하다.
@eyedroot
eyedroot / ExtensionFunction.kt
Created July 21, 2019 09:09
확장 함수의 정이
package my.demo
/**
* 확장 함수의 정의
*
* 어떤 클래스 밖에서, 마치 그 클래스의 멤버인 것 처럼 선언된 메서드를 말한다.
* 클래스 내부에 있지 않지만 그 클래스 내부 멤버에 접근할 수 있고, 클래스 멤버 메서드와 동일한 방식으로 호출할 수 있다.
*/
class Calculator {
@eyedroot
eyedroot / DataClass.kt
Created July 21, 2019 08:40
코틀린 데이터 클래스 예제
package my.demo
/**
* 코틀린의 최상위 클래스인 `Any`
*/
/**
* 데이터 클래스란!?
*
* 클래스가 메서드 없이 프로퍼티만을 가질 때 사용할 수 있는 클래스이다.
@eyedroot
eyedroot / ClassInterface.kt
Created July 21, 2019 08:07
코틀린 인터페이스와 클래스 그리고 접근제어자 예시
package my.demo
interface User {
val nickname: String
}
class PrivateUser2(override val nickname: String): User
class PrivateUser(override val nickname: String): User
@eyedroot
eyedroot / .gitignore
Created May 15, 2018 05:18 — forked from octocat/.gitignore
Some common .gitignore configurations
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #