본문 바로가기

Android (Kotlin)30

[Calculator] 계산기 만들기 lv.4 Lv4 : AddOperation(더하기), SubtractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스들을 AbstractOperation라는 클래스명으로 만들어 사용하여 추상화하고 Calculator 클래스의 내부 코드를 변경합니다. Lv3 와 비교해서 어떠한 점이 개선 되었는지 스스로 생각해 봅니다. hint. 클래스간의 결합도, 의존성(의존성역전원칙) lv3를 하면서 상속이랑 클래스 개념을 제대로 익혀서 그런지 상대적으로 시간이 덜 걸렸다. 간단한 추상 클래스 예제를 정독하고 문제를 풀어줬다! 아래 링크 예제 정독만 하면 바로 풀 수 있다 !! https://velog.io/@k906506/Kotlin-%EC%B6%94%EC.. 2023. 11. 30.
[Calculator] 계산기 만들기 lv.3 Lv3 : AddOperation(더하기), SubstractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스를을 만든 후 클래스간의 관계를 고려하여 Calculator 클래스와 관계를 맺기 관계를 맺은 후 필요하다면 Calculator 클래스의 내부코드를 변경하기 나머지 연산자(%) 기능은 제외합니다. Lv2 와 비교하여 어떠한 점이 개선 되었는지 스스로 생각해 봅니다. hint. 클래스의 책임(단일책임원칙) 따로 뺀 클래스 안에 함수 만들 생각을 안해서 시간을 엄청 썼다. 그리고 부모 자식 상속 클래스 쓰려고 애먹었는데 필요 없었음... 대신에 상속 어떻게 사용하는지 제대로 공부한거 같다. 클래스가 여러개 있을 때 해야하는 스텝 정.. 2023. 11. 30.
[Calculator] 계산기 만들기 lv.2.1 인풋에 문제가 있었었는데 숫자 연산자를 따로 입력 받는 방식으로 바꾸니 간단해졌다! 수정한 부분 toCharArray.digitToInt().toDouble()을 이용해서 문자열을 수정했었는데 바로 .toDouble()로 수정할 수 있다는 사실을 배웠다. 인풋 간단히 바꾸었다! package com.example.mycalculator // Level 2 // Lv1에서 만든 Calculator 클래스에 출력 이후 추가 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기 fun main(){ print("숫자를 입력하세요 : ") var number1 = readLine()!!.toDouble() print("연산자를 입력하세요 : ") var operator = readLine()!! print.. 2023. 11. 30.
[Collection Sort - kotlin] sort(), sortBy(), sortWith() 💡기본 규칙 sort(), sortBy(), sortWith() 는 기존 collection을 수정할 수 있는 메소드이다. sorted(), sortedBy(), sortedWith() 는 기존 collection이 변하지 않는다. 앞에 나온 동사가 수동태가 되면 기존 collection이 변하지 않는다고 보면 될듯! 뒤에 reverse(), reversed(), sortByDescending(), sortedByDescending() 도 모두 같은 규칙 적용! 📆 메소드 정의 sort() - 오름차순 정렬 sortByDescending() - 내림차순 정렬 reverse() - 앞뒤 배열 순서 뒤집기 shuffled() - 랜덤 정렬 Kotlin sort 1. 오름차순 val nums = mutable.. 2023. 11. 30.