코틀린(Kotlin)/해보기

[코틀린(Kotlin)] 계산기 (Lv3)

초보왕보초 2023. 11. 30. 19:53
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