728x90
Lv3
: AddOperation(더하기), SubstractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스들을 만든 후 클래스 간의 관계를 고려하여 Calculator 클래스와 관계를 맺기
Lv4
: AddOperation(더하기), SubstractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스들을 AbstractOperation이라는 클래스명으로 만들어 사용하여 추상화하고 Calculator 클래스의 내부 코드를 변경한다
Lv3 구현
각 Operation.kt 생성

각 더하기, 빼기, 곱하기, 나누기 Operation 클래스 파일들을 만들어주고
각각에 맞는 수식들을 넣어준다
Calculator.kt

operation()과 moreOperation() 변경
각 string타입의 연산자들에 맞게 새로 만든 연산Operation 클래스 파일들을 연결해 준다
+) 나머지 계산 추가

나머지 계산도 추가해 줬다
나머지계산 결과)

Lv4는 AbstractOperation 클래스 파일을 만들고 각각의 연산Operation 클래스들에 abstract - override 등등해봤는데
그걸 이용해서 Calculator 클래스 내부를 변경하는 법은 잘 모르겠어서 실패했다
AbstractOperation 클래스 생성

연산Operation들에 override

추상 클래스는 대략적인 설계의 명세와 공통의 기능을 구현한다
operate를 추상화했지만 사용하는 법을 모른다..
Calculator 클래스 변경시도

is와 as 같은걸 활용을 해서 Calculator 클래스 내부를 변경해야 하는데 전혀 모르겠다
임의로 abstract의 활용을 시도해 보기 위해서 튜터님이 알려주신 대로 is를 활용해서 when문을 저런 식으로 바꿀 수 있다는 것까지 배웠지만, 솔직히 활용할 자신이 없다..
728x90
'코틀린(Kotlin) > 해보기' 카테고리의 다른 글
[코틀린(Kotlin)] 키오스크 프로그래밍 (2 (0) | 2023.12.06 |
---|---|
[코틀린(Kotlin)] 키오스크 프로그래밍 (1 (1) | 2023.12.05 |
[코틀린(Kotlin)] 계산기 (Lv1, Lv2) (0) | 2023.11.29 |
[코틀린(Kotlin)] 로또 번호 생성기 (1) | 2023.11.07 |
[코틀린(Kotlin)] BMI 계산기 (0) | 2023.11.06 |