본문 바로가기

Java and Android

(49)
Android Kotlin - 컬렉션함수(associateBy, groupBy, partition) 1. collection.associateBy{} 만약 collection이 (클래스의 인스턴스로 생성된)객체를 원소로 담은 List라면 각 원소객체의 변수에서 key를 추출하여 객체전체를 value로 하는 map으로 반환하는 함수 2. collection.groupBy{} 특정한 값을 key로 지정하여 해당 값을 가진 객체끼리 묶은 배열을 value로 하는 map을 반환 3.collection.partition{} : 아이템에 조건을 걸어 true인지 false인지에 따라 두 컬렉션으로 나누는데 (1) - 두 컬렉션은 두객체를 담을 수 있는 pair라는 클래스 객체로 반환되므로 각각의 컬렉션을 first, second로 참조할 수 있고 (2) - 또는 pair를 직접받아줄 수 있도록 변수이름을 괄호안에..
Android Kotlin - 컬렉션함수 0. 컬렉션 함수 : List, set, map과 같은 컬렉션 또는 배열에 일반함수 또는 람다함수의 형태를 사용하여 for문 없이도 아이템을 순회하며 참조하거나 조건을 걸고, 구조의 변경까지 가능한 여러가지 함수를 지칭한다 *collecction.컬렉션함수{it} 속의 it은 컬렉션의 원소가 순서대로 변수에 it에 담긴다 1. collection.forEach{} 중괄호 안에서 컬렉션에 포함된 모든 아이템을 it이라는 변수로 순서대로 참조 2. collection.filter{} 중괄호 안에서 it에 조건을 걸어주면 조건에 맞는 객체만 다시 collection으로 만들어서 반환 3. collection.map{} 중괄호 안에서 it에 수식을 적용하여 값을 변경하면 그 값을 컬렉션으로 만들어 반환 4. c..
Android Kotlin - Set , Map 코틀린이 기본적으로 지원하는 컬렉션 클래스에는 List, Set, Map이 있다. 1. Set - Set은 List와 달리 순서가 정열되지 않으며 중복이 허용되지 않는다 따라서 Index로 위치를 지정하여 객체를 참조할 수 없다 2. Map - Map은 객체를 넣을때 그 객체를 찾아낼 수 있는 Key를 함께 넣어줌 따라서 key를 참조하여 value를 찾아내는 형태로 많이 쓰임 *같은 key에 다른 객체를 넣으면 기존의 객체가 대체되니 주의하자
Android Kotlin - 중첩클래스 와 내부클래스 *중첩클래스와 내부클래스는 클래스간의 연계성을 표현하여 코드의 가독성 및 작성 편의성을 제공한다
Android Kotlin - 함수의 argument를 다루는 방법 1. default arguments 와 named arguments 2.variable number of arguments(vararg) : 같은 자료형을 개수에 상관없이 파라미터로 받고 싶을때 * vararg는 개수가 지정되지 않는 파라미터이므로 다른 파라미터와 같이 쓸때는 반드시 맨 마지막에 위치해야함
Android Kotlin - 문자열 다루기(자주쓰이는 함수) 1.문자열을 다루는 자주쓰이는 함수 (1)- 대소문자변환, 원하는 부분만 가져오기, 지정한 문자를 기준으로 배열로 만들기, 배열을 합치기 (2) - 문자열의 공백을 체크하여 bool값을 반환하는 함수 *isNullorBlank는 공백문자(space, Tab, Line Feed, Carrige Return)도 비어있는 것으로 판단하여 true를 리턴 (3) - 해당 문자열로 시작하는지 끝나는지 포함하는지 여부를 bool값으로 반환하는 함수
Android Kotlin - casting의 사용, Generic 1.casting의 사용 위와 같은 casting연산을 거치는 것은 프로그램의 속도를 저하 시킨다 따라서 이에 대체하기 위해 나온것이 Generic 제네릭은 클래스나 함수를 선언할때 고정적인 자료형 대신 실제 자료형으로 대체되는 타입패러미터 -> 를 받아 사용한다 이 타입패러미터에 특정자료형이 할당되면 예를 들어 Int 자료형이 할당되면 제너릭을 사용하는 모든 코드는 할당된 자료형으로 대체되어 컴파일 된다 따라서 캐스팅 연산없이 자료형을 그대로 사용할 수 있게 된다 2. 제너릭 사용법 타입패러미터의 이름은 클래스 이름과 규칙이 같지만 관례적으로 T를 사용 --> 제너릭을 특정한 슈퍼클래스를 상속받은 클래스타입으로만 제한하려면 (1). 함수의 경우 - 아래 예제의 회색부분과 같이 함수를 선언하고 - 파라미..
Android Kotlin - 다형성(polymorphysm)_casting 1. 다형성(polymorphysm) 음료 클래스가 있고 음료클래스를 상속받은 콜라클래스가 있다 이때 콜라()로 인스턴스를 생성하면 음료클래스 기능에 콜라의 기능이 추가된 인스턴스 객체가 생성된다 여기서 콜라()를 변수에 담을때 자료형을 : 음료로 하게되면 음료의 기능만 사용이 가능하고 콜라의 기능은 사용불가하며 콜라()를 변수에 담을때 자료형을 : 콜라로 하게되면 음료와 콜라 두기능 모두 사용이 가능하다 이때 콜라 인스턴스를 음료자료형 변수에 담는 행위를 상위자료형인 슈퍼클래스로 변환한다고 하여 Up-casting이라고 하며 Up-casting된 인스턴스를 다시 하위자료형으로 변환하면 Down-casting이라고 한다 변수 a : 음료 = 콜라() 의 행위자체가 Up-casting 이며 Down-cas..