본문 바로가기

코틀린

(8)
코틀린 : Collection 과 람다, 정렬 Collection 과 람다 groupby 함수 groupby (T->R):Map 매개 변수가 1개이고 리턴이 있는 함수를 대입해서 리턴 값을 데이터를 분류를 해서 Map 으로 리턴해주는 함수 정렬 reverse, sorted, sortedBy, sortedDescending, sortedDescending reverse 는 매개 변수 없이 사용해서 데이터의 순서를 반대로 만들어 줍니다. sorted 는 매개 변수 없이 사용해서 데이터를 오름차순 ( 작은 것 -> 큰 것 ) 정렬해서 리턴 합니다. 데이터의 크기를 비교할 수 있는 경우에만 사용 가능 sortedBy 는 매개 변수가 1 개이고 리턴이 있는 함수를 대입받아서 리턴 값을 가지고 오름차순 정렬을 해서 리턴합니다. null class User(va..
코틀린 : 함수형 프로그래밍 함수가 일급 객체 함수도 하나의 사용자 정의 자료형 함수를 이용해서 변수를 생성할 수도 있고 함수 안에 변수, 함수, 클래스를 생성하는 것이 가능 Pure Function 사용을 권장 : 외부의 영향을 받지 않아야 한다 동일한 입력에 대해서 동일한 결과 생성 매개 변수가 있어야하고 리턴 되는 데이터가 있어야 한다. 데이터의 불변성 함수의 매개변수는 읽기 전용 함수의 결과를 리턴할 때는 새로운 데이터를 만들어서 리턴 장점 동시성 작업을 조금 더 쉽고 안전하게 구현 일급 객체란? //Kotlin에서는 함수가 일급객체 // 변수로 만들 수도 있고 함수 안에 함수나 클래스를 생성하는 것 가능 fun method(){ // 함수 안에서 함수 생성 가능 fun subFun(){ println("내부 함수") } /..
코틀린 : enum 열거형 상수 enum 열거형 상수 => 상수 여러개를 대입해서 선언하고 이 값 중의 하나를 지정해서 사용할 수 있도록 해주는 개체 => 메소드의 옵션을 한정 짓고자 할 때 사용 => Java에서 옵션을 만들 때 static final 상수를 이용 했습니다. Java 1.5 까지는 enum 이 없었다. Thread 의 우선순위를 세가지로 생성 class Thread { public static int MAX_PRIORITY = ?; public static int NORM_PROORITY = ? public static int NIN_PRIORITY = ? public void setPriority(int priority){} } Thread th = new Tread(); th.setPriority(Tread.MAX..
코틀린에서 다양한 클래스 생성 방법 코틀린에서 다양한 클래스 생성 방법 1. DTO (Data Transfer Object) => 여러 개의 속성을 묶어서 하나의 데이터로 사용할 목적으로 만든 클래스 => Variable Object 나 Domain Class 라고도 합니다. => Data 라는 예약어를 이용해서 생성 => 반드시 primary constructor를 생성해야 하고 primary constructor의 매개 변수는 val이나 var 로 만들어져야 합니다. => abstract, open, seald, inner 같은 예약어를 붙일 수 없습니다. => 5개의 메소드가 자동 생성 됨 hashCode() :해시 코드 (데이터를 저장할 때 저장 위치를 결정하는 코드 값) - 이 값이 같으면 동일한 메모리 공간을 사용하는 인스턴스로..
코틀린 : 인터페이스에서 프로퍼티 사용 인터페이스에서 프로퍼티를 생성하는 것이 가능하다. 추상의 형태로 만들거나 get(), set()을 반드시 정의해야합니다. 바로 값을 대입하는 형태는 안된다. => 추상 프로퍼티가 아니면 val 의 경우는 get을 만들어 주어야 하고 var의 경우는 get과 set을 모두 만들어 주어야 합니다. get과 set에서 field를 사용 할 수 없습니다.
코틀린 : 제어문의 개념 제어문 1. if => 조건을 가지고 분기를 하는 분기문이면서 표현식이기도 하다. => 형식 if(boolean 표현식) { true 일 때 수행할 내용 } else if(boolean 표현식) { 앞의 표현식이 false 이고 현재 표현식이 true 일 때 수행할 내용 } else { 앞의 모든 표현식이 false 일 때 수행할 내용 } => if 는 필수 - 1번 => else if 는 선택적으로 여러번 사용 가능 : 없거나 여러번 사용 가능 => else 는 없거나 한 번 만 사용 => 수행할 내용을 연산식이나 상수로 설정하는 것이 가능하고 이 결과를 변수에 저장할 수 있다 이 경우에는 else 가 필수 fun main(args:Array) { val x : Int = 30 // x 의 값이 60 ..
코틀린: Collection Kotlin 에서의 Collection => Array, List, Set, Map이 제공 => Array를 제외하고는 Mutable이 있는 것과 없는 것으로 구분 됩니다. mutable이 없으면 처음 생성한 그대로 사용해야하고 mutable이 있으면 크기를 변경할 수 있고 데이터도 수정 가능! => mutable자료구조Of(데이터 나열)의 형태로 생성 => Kotlin에서는 java의 모든 부분을 가져와서 사용할 수 있다. Kotlin으로 코딩을 하면 번역을 할 때 java 코드로 번역을 해서 java class를 만들어서 실행 => java.util 패키지에 존재하는 List, Set, Map 을 이용해도 된다.
코틀린: 벡터 자료형 코딩해보기 코틀린: 벡터 자료형 코딩해보기 Array fun main(args:Array) { // Array 가 배열 자료형 - Array : String 배열 var ar = arrayOf(30, 50, 80) var strAr = arrayOf("블랙핑크", "소녀시대") // ar의 데이터 개수 : ar.size println(ar.size) println("${ar.size}") // 첫 번 째 데이타 가져오기 println("${strAr[1]}") println("${strAr.get(1)}") // 데이터 변경 strAr[1] = "레드벨벳" println("${strAr.get(1)}") list var list = mutableListOf("Java") list.add("Kotlin") // 마지..