Android
-
Scope Functions (let, with, also, apply, fun)Android 2024. 3. 16. 09:06
어떤 객체의 변수, 메소드 등을 불러올때는 scope function 을 쓰는게 편리할 때가 있다. Scope 내 접근방식 thisScope 내 접근 방식 it블록 수행 결과 반환run, withlet객체 자신 반환applyalso 수신 객체 자체를 람다로 전달수신객체를 람다의 파라미터로 전달뒤에 코드에 주석처리한 부분을 보면 이해가 되는데, T는 수신객체를 의미한다. 이때, 수신객체는 it으로 사용할 수 있는데 따라서 scope 내 접근 방식이 it 인 경우, 수신객체를 람다의 파라미터로 전달한다는 뜻이다. block 내부(중괄호)는 람다함수의 소스코드를 의미한다.1. let 함수중괄호 블록 안으로 객체를 it 으로 전달하고, 블록 수행 결과를 반환한다. 이때, strNum 의 자료형은 let 함수를..
-
Pair,Triple 클래스Android 2024. 3. 15. 21:05
두 개 이상의 데이터를 포함하는 값을 리턴하는 클래스가 존재하는데, pair 클래스와 triple 클래스가 있다. 해당 클래스에 매개변수 값을 넣어 객체(인스턴스)를 생성하여 한번에 여러 개의 데이터를 관리할 수 있다. 1. Pair 클래스 명시할 때는 Pair , 객체를 생성할 때는 Pair(인자,인자) 이런 형태로 불러쓸 수 있다. 이미 정의되어 있는 Pair 클래스를 통해 객체를 생성하고, 그 객체는 2개의 원소를 가지고 있다. 이때, 접근은 first, second 함수를 통해 가능하다. 출력값도 (인자, 인자) 이렇게 나온다. fun main() { var noodle = Noodle() var noodles = noodle.getnoodle() println("${noodles}") // (너..
-
자료형변환, 업캐스팅, 다운캐스팅, Is 키워드Android 2024. 3. 15. 20:24
1. 자료형변환 fun main() { var str1 = "10" var str2 = "10.21" // 문자열을 숫자로 변경할 때의 메소드 var num1 = Integer.parseInt(str1) // 문자열을 정수로 변환하는 메소드1 var num2 = str1.toInt() // 문자열을 정수로 변환하는 메소드2 var num3 = str2.toDouble() // 문자열을 실수로 변환하는 메소드 } 객체 자료형간의 변환은 상속관계에서 가능하다. 2. 업캐스팅 자식클래스를 부모클래스의 자료형으로 객체를 생성하는 방법이다. fun main() { print("마리수를 입력하세요 : ") var count = readLine()!!.toInt() var birdList = mutableListOf..
-
여러 복합 계산 : 후위연산자, Stack 개념 활용Android 2024. 3. 14. 12:50
계산기를 구현하다가 만약 여러 연산자가 섞인 입력값이 들어오면 어떻게 처리해야 할까? 예를 들어서, ((2+4)/6*10-5*8)/(3-6*5) 말이다 ... 이때 필요한 개념은 후위 연산자와 스택이다. 복합 계산 입력값을 컴퓨터가 이해할 수 있도록 바꿔주려면 후위 연산자 개념이 필요하다. 예를 들어, (2+4)*8/6 을 계산하고 싶다면, 컴퓨터가 이해하기 쉽도록 후위 연산자 표현인 2 4 + 8 * 6 / 으로 바꿔줘야 한다. 해당 표현으로 바꿔주면 컴퓨터는 해당 복합 연산식을 계산할 수 있다. 후위 연산자는 숫자가 앞에 있고, 연산자가 뒤(후)에 있도록 나열하는 방식이다. 주어진 후위 연산자 표현 2 4 + 8 * 6 / 표현을 컴퓨터는 어떻게 계산하는지 살펴보자 2 4 + 8 * 6 / // 첫번..
-
Git 기본 개념 정리Android 2024. 3. 13. 11:51
Repository 를 새로 생성 한 후 폴더의 코드를 git push 하는 경우 1. git remote add origin add 는 '더하다' 가 아니라 '지정하다' 를 의미한다. 즉, origin 을 github 주소로 지정한다는 말이다. 원래, 깃허브에 로컬에서 짠 코드를 올릴 때는 " git push 코드를 짠 브랜치 이름 " 을 해야 한다. 하지만, 매번 코드를 push 할 때마다 깃허브 주소를 쓰기는 너무 번거로우니, add 명령어를 통해 " origin = github 주소 " 로 통일하자는 의미이다! 해당 명령어 덕분에 이제 " git push origin 올리고 싶은 코드를 작성한 브랜치 이름 " 를 사용할 수 있게 된다. 2. git branch -M main 처음 레포지토리를 생성..
-
Git 에서 branch 활용하기Android 2024. 3. 12. 23:15
터미널(Git bash)에서 브랜치 활용하기 기존 파일을 수정하고 싶지만, 건드리지 않고 복사본을 만들어서 수정하고 싶을 때가 있습니다. 이때 활용하는게 바로 브랜치이다. 즉, 원본 파일의 복사본 = 브랜치 이다. 복사본은 여러 개 만들 수 있기 때문에 브랜치도 여러 개 생성 가능하다. 브랜치 이동 명령어의 경우 두 개의 명령어가 존재하는데, 둘 중 아무거나 써도 상관없다. 원래 checkout 명령어를 썼지만 의미가 직관적이지 않아 최근에 switch 명령어가 생성되었다고 한다. 정의 명령어 브랜치 생성명령어 git branch 브랜치이름 브랜치 확인 명령어 git branch 브랜치 이동 명령어 git switch 브랜치 이름 / git checkout 브랜치 이름 브랜치 생성 및 이동 명령어 git..
-
CharArray, Zip, Map, Array, CollectionAndroid 2024. 3. 8. 23:33
예외를 처리하는 방법에는 try~catch~finally 문과 throw 문이 있는데, throw 문은 문법적으로 틀리지 않더라도 사용자가 지정한 범위를 넘어가면 예외를 처리할 수 있다. if(n !in 1..10000) throw IllegalArgumentException("1부터 10000 사이의 수를 입력하세요!") catch(e:Exception) {..} 0 % 2 = 0 CharArray CharArray의 Char 은 Java의 char 과 대응되고, Array 의 Char 은 Java 의 Character와 대응된다. public class CharArray(size:Int)CharArray 생성자를 사용해 초기값을 설정하지 않고 초기화하는 방식으로, 크기만 넘기면 된다. 이때, 기본값은..