코틀린(4)
-
코틀린학습 - #4 람다
람다 식과 멤버 참조 lambda expression - 기본적으로 다름 함수에 넘길 수 있는 작은 코드 조각을 뜻한다. 무명 내부 클래스로 선언해서 사용하던 방식을 함수형 프로그래밍으로 전환하여 함수를 값처럼 다르는 접근 방법을 택하는것 무명 내부 클래스로 리스너 구현하기 button.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { /* TODO */ } }); 람다로 리스너 쿠현하기 button.setOnClickListener { /* TODO */ } 람다와 컬렉션 람다를 사용해 컬렉션 검색하기 (가장 나이 많은 사람 찾기) val people = listOf(Person("Allice", 2..
2020.11.16 -
코틀린학습 - #3 클래스
클래스 계층 정의 인터페이스에 프로퍼티 선언이 들어갈 수 있다. 번잡스러움을 피하기 위해 일부 표준 메소드를 생성해준다. sealed 는 클래스 상속을 제한한다. 클래스 이름 뒤에 콜론을 붙이고 인터페이스와 클래스 이름을 적는 것으로 클래스 확장과 인터페이스를 모두 처리한다. override 변경자는 상위 클래스나 상위 인터페이스에 있는 프로퍼티나 메소드를 오버라이드한다는 표시이다. 상위 타입의 이름을 꺽쇠 괄호 사이에 넣어서 "super"를 지정하면 어떤 상위 타입의 맴버 메소드를 호출할지 지정할 수 있다. 게터와 세터에서 뒷받침하는 필드에 접근 field 라는 특별한 식별자를 통해 뒷받침하는 필드에 접근할 수 있다. open, final, abstract 변경자: 기본적으로 final 코틀린의 클래스..
2020.11.11 -
코틀린학습 - #2 함수
코틀린에서 컬렉션 만들기 .javaClass는 자바의 getClass()에 해당하는 코틀린 코드 코틀린은 자체 컬렉션을 제공하지 않고 자바 컬렉션을 활용한다. last(): 리스트의 마지막 원소 조회, max() 최댓값 val strings = listOf("first", "second", "fourteenth") println(strings.last()) val numbers = setOf(1, 14, 2) println(numbers.max()) 이름 붙인 인자 코틀린으로 작성한 함수를 호출할 때는 함수에 전달하는 인자 중 일부 또는 전부의 이름을 명시할 수 있다. 자바로 작성한 코를 호출할 때는 이름 붙인 인자를 사용 할 수 없다. joinToString(collection, separator = ..
2020.11.09 -
코틀린학습 - #1 기초
기본 요소 스마트 캐스트: 타입 검사와 타입캐스트, 타입 강제 변환을 하나로 엮은 기능 함수를 선언할 때 fun 키위드 사용 파라미터 이름뒤에 그 파라미터의 타입을 쓴다, 변수 선언시도 동일 함수를 최상위에 정의할 수 있다. System.out.println 대신에 println 사용가능, 표준 자바 라이브러리를 간결하게 사용 가능 세미콜론을 붙이지 않아도 좋다. 함수 코틀린에서는 루프를 제외한 대부분의 제어 구조가 식이다. 코틀린에서는 식이 본문인 함수가 자주 쓰인다. 반환 타입을 생략할 수 있는 이유는 컴파일러가 함수 본문 식을 분석해서 식의 결과 타입을 함수 반환 타입으로 정해준다. 이렇게 컴파일러가 타입을 분석해서 요소의 타입을 정해주는 기능을 타입 추론(type inference) 이라고 한다...
2020.11.09