전체 글 528

관용적 표현 - 1골대?

원래 타이틀은 저렇게 만드나??? 내가 몰랐던간가??'호날두 2도움' 유벤투스,..... 이렇게 가야하는거 아닌가?+1골대 이런 표현도 있구나?? 문뜩 든 생각이 골대를 넣을꺼면 다른것도 다 넣어야하는건 아닌가라는 생각이 든다.호날두 1도움, 1골, 2태클, 3골대, 30패스, 1호우 .... ㅋㅋ 그리고 찾아보니깐... 1골대를 원래 썼었나보네.....- 손흥민 1득점, 1골대 - 메시 1골, 1골대- 아자르 2도움, 1골대- 이강인 1골, 1도움, 1골대.....

관심 2018.09.30

코틀린 - 코틀린 타입 시스템 (요약)

6장 코틀린 타입 시스템 - 코틀린은 널이 될 수 있는 타입을 지원해 NullPointerException 오류를 컴파일 시점에 감지할 수 있다.- 코틀린의 안전한 호출(?.), 엘비스 연산자(?:), 널 아님 단언(!!), let 함수 등을 사용하면 널이 될 수 있는 타입을 간결한 코드로 다룰 수 있다.- as? 연산자를 사용하면 값을 다른 타입으로 변환하는 것과 변환ㄴ이 불가능한 경우를 처리하는 것을 한꺼번에 편리하게 처리할 수 있다.- 자바에서 가져온 타입은 코틀린에서 플랫폼 타입으로 취급된다. 개발자는 플랫폼 타입을 널이 될 수 있는 타입으로도, 널이 될 수 없는 타입으로도 사용할 수 있다.- 코틀린에서는 수를 표현하는 타입(Int 등)이 일반 클래스와 똑같이 생겼고 일반 클래스와 똑같이 동작한다..

Dev/Kotlin 2018.09.30

코틀린 - 코틀린 타입 시스템 (정리)

코틀린 타입 시스템 (Kotlin In Action) - 코틀린의 타입 시스템은 코드의 가독성을 향상시키는 데 도움이 되는 몇 가지 특성을 제공한다.- 널이 될 수 있는 타입, 읽기 전용 컬렉션 ? - fun strLen(s: String) = s.length 일 경우, 해당 함수가 널과 문자열을 인자로 받을 수 있게 하려면 타입 이름 뒤에 물음표를 명시해야 한다. fun strLen(s: String?) ?. - 안전한 호출 연산자 -> null 검사와 메소드 호출을 한 번의 연상으로 수행하게 도와준다. ?: - 엘비스 연산자 -> null 대신 사용할 디폴트 값을 지정할 때 편리하게 사용 fun foo(s: String?) { val t: String = s ?: " " } as? - 안전한 캐스트 ..

Dev/Kotlin 2018.09.30

코틀린 - 람다로 프로그래밍(요약)

5장 람다로 프로그래밍 - 람다를 사용하면 코드 조각을 다른 함수에게 인자로 넘길 수 있다.- 코틀린에서는 람다가 함수 인자인 경우 괄호 밖으로 람다를 빼낼 수 있고, 람다의 인자가 단 하나뿐인 경우 인자 이름을 지정하지 않고 it 이라는 디폴트 이름으로 부를 수 있다.- 람다 안에 있는 코드는 그 람다가 들어있는 바깥 함수의 변수를 읽거나 쓸 수 있다.- 메소드, 생성자, 프로퍼티의 이름 앞에 ::을 붙이면 각각에 대한 참조를 만들 수 있다. 그런 참조를 람다 대신 다른 함수에게 넘길 수 있다.- filter, map, all, any 등의 함수를 활용하면 컬렉션에 대한 대부분의 연산을 직접 원소를 이터레이션하지 않고 수행할 수 있다.- 시퀀스를 사용하면 중간 결과를 담는 컬렉션을 생성하지 않고도 컬렉..

Dev/Kotlin 2018.09.27

코틀린 - 클래스, 객체, 인터페이스(요약)

4장 클래스, 객체, 인터페이스 - 코틀린의 인터페이스는 자바 인터페이스와 비슷하지만 디폴트 구현을 포함할 수 있고, 프로터티도 포함할 수 있다.- 모든 코틀린 선언은 기본적으로 final이며, public 이다.- 선언이 final이 되지 않게 만들려면(상속과 오버라이딩이 가능하게 하려면) 앞에 open을 붙여야 한다.- internal 선언은 같은 모듈 안에서만 볼 수 있다.- 중첩 클래스는 기본적으로 내부 클래스가 아니다. 바깥쪽 클래스에 대한 참조를 중첩 클래스 안에 포함시키려면 inner 키워드를 중첩 클래스 선언 앞에 붙여서 내부 클래스로 만들어야 한다.- sealed 클래스를 상속하는 클래스를 정의하려면 반드시 부모 클래스 정의 안에 중첩 클래스로 정의해야 한다.- 초기화 블록과 부 생성자를..

Dev/Kotlin 2018.09.25