본문 바로가기

STUDY/Kotlin6

Kotlin / Scope Function - 범위 지정 함수 let 함수를 자주 사용하면서, scope 함수를 어느때에 사용하는것이 좋을까에 대한 의문이 생겼다. 아래의 포스트는 의문을 해소하기 위하여 Kotlin Docs를 번역한 것이다. 코틀린 표준 라이브러리는 객체 컨텍스트 내에 코드블럭을 실행하는 것이 유일한 목적인 함수를 포함하고 있다.이 함수들을 람다식을 이용해서 호출하면 일시적인 범위(scope)가 생성되는데, 이 범위 내에서는 이름이 없어도 객체에 접근이 가능하다.이러한 함수들을 ScopeFunction( 범위 지정 함수 )라 부르며, 다음의 5가지가 존재한다.letrunwithapplyalso 장점간편한 코드의 사용가독성빌더 패턴 이용부가적인 후처리 용이Notice같은 용도로 사용해야할 코드에 서로 다름 함수를 사용하거나, 지나친 다중 중첩을 사용.. 2024. 5. 31.
Kotlin / Conditions and Loops (If, When, For, While) when문을 사용하다, 이런 문법도 되는걸까? 싶은 부분이 있어 Kotlin Docs를 살펴보게 되었다. 그 김에 해당 페이지를 번역하는 겸 개인 공부를 하는 시간을 조금 가졌다.사람은 모르면 역시, 공식 문서를 읽어봐야합니다. If코틀린에서, if 표현식은 : value를 반환한다. 그렇기 때문에, 삼항연산자(condition ? then : else) 가 없다. 왜냐하면, if로 충분히 해당 역할을 할 수 있기 때문이다. → if문과 else문이 직접 값을 반환.만약 사용하고 있다면, 당신은 java style의 코드를 작성하고 있는 것이다.var max = aif (a b) { max = a} else { max = b}// As expressionmax = if (a > b) a el.. 2024. 4. 30.
Kotlin / 숫자 야구 게임 숫자 야구 게임, 좋아하세요? 저는 야구라면 환장을 하는 나머지 게임으로도 만들어 보았습니다.요구사항프로그램 실행시 아래의 메뉴를 출력한다.환영합니다! 원하시는 번호를 입력해주세요1. 게임 시작하기 2. 게임 기록 보기 3. 종료하기1번 선택 -> 숫자 야구 게임을 실행합니다.2번 선택 -> 프로그램이 최초 실행된 이후의 게임 기록을 보여줍니다.3번 선택 -> 프로그램이 종료됩니다.1번 - 게임 시작하기게임 시작하기 기능을 실행하면, 숫자 야구 게임을 실행합니다.서로 다른 숫자 3개를 입력하면 힌트를 제공합니다.같은 자리에 같은 숫자가 있는 경우 스트라이크(S), 다른 자리에 숫자가 있는 경우 볼(B)입니다.3S가 나오면 게임을 종료합니다.입력한 숫자가 정답에 하나도 없다면 OUT을 나타냅니다.2번 - .. 2024. 4. 30.
Kotlin / 고차함수와 람다 Lambda lambda 와 익명 함수는 함수 리터럴(function literals)이라고도 불린다.함수 리터럴은 선언되지 않고 표현 그대로 바로 전달될 수 있다. ( 함수 리터럴은 선언되지 않았지만 즉시 표현식으로 전달됨)max(strings, { a, b -> a.length 함수의 마지막 매개 변수가 함수라면 괄호 밖으로 람다 식을 배치할 수 있다.만약 함수의 매개 변수가 하나라면 괄호 내에서 it 으로 표현된다.val listOne = listOf(1, 2, 3).map({it + 1}) // 원래는 이렇지만val listTwo = listOf(1, 2, 3).map { it + 1 } // 이렇게 쓸 수도 있다.리턴 값이 있어야 하는 함수 리터럴은, 마지막 줄이 리턴 값이 된다. 혹은 qual.. 2024. 4. 25.
Kotlin / 고차함수 포스트 작성 계기과제를 진행하다, 함수 안에서 함수를 부르는데 그 부르는 함수 내에서 또 함수를 부르는 기이한 형태도 처리되는 것을 확인했다. 충격과 함께 왜.,.. 이게 되는거지? 를 확인하려고 공부를 시작했다. 목표는 고차함수 개념 알기!!!고차함수를 보려면 그 이전에 1급함수를 알아야했다.1급함수,  1급 시민, 1급 객체.. 뭔 비슷한 말들이 너무 많다. 하지만 각각 영어 명칭이 다 따로 있기 때문에 다른점이 있다고 판단. 하나하나 뜯어보기로 한다. 1 / 1급 시민(first-class citizen), 1급 객체(first-class object), 그리고 1급 함수(first-class function)1급 시민 -> { 변수에 담을 수 있음 + 함수의 인자로 전달 가능 + 함수의.. 2024. 4. 24.
Kotlin / 계산기 만들기 TODO1단계 / 덧셈, 뺄셈, 곱셈, 나눗셈 기능을 수행할 수 있는 Calculator 클래스 만들기. 2단계 / 위에서 작성한 Calculator 클래스에 나머지 연산 추가하기.3단계 / Add, Substract, Muliply, Divide 클래스 구현 후, Calculator 클래스와 관계 맺기(상속)4단계 / AbstractOperation 클래스 명으로 만들어 사용하여 추상화하고 Calculator 클래스의 내부 코드 변경  강의 듣고 내 입맛대로 코드 짜기 시작... 훗.. 1단계 + 2단계우선 기본 계산기 클래스 만들기Class Calculator{ val num1 :Double val num2 :Double fun add(num1:Doub.. 2024. 4. 22.