부트캠프의 첫 개인과제: 계산기
강의를 다 듣고 또 들어봤지만, 일단 뭔지는 알겠는데... 정확히는 모르겠고...
그래도 제출이 금요일까지라 일단 시도해보기로 했다.
처음 작성한 방식:
class Calculator {
var num1: Double
var num2: Double
init(num1: Double, num2: Double) {
self.num1 = num1
self.num2 = num2
}
func add() {
print("Answer is \(num1 + num2)")
}
func subtract() {
print("Answer is \(num1 - num2)")
}
func divide() {
print("Answer is \(num1 / num2)")
}
func multiply() {
print("Answer is \(num1 * num2)")
}
}
let calculator = Calculator(num1: 10, num2: 3)
calculator.add()
calculator.subtract()
이 방식은 2개의 수만 나온다면 잘 활용될 수 있는 방식이지만,
내가 두 수의 합과 곱하기를 알고 싶다면 다시 calculator를 불러서 구현을 해야한다는 단점이 있었다.
그래서 시도한 방법:
class Calculator {
func add(num1: Double, num2: Double) -> Double {
return num1 + num2
}
func sub(num1: Double, num2: Double) -> Double {
return num1 - num2
}
func multiply(num1: Double, num2: Double) -> Double {
return num1 * num2
}
func divide(num1: Double, num2: Double) -> Double {
return num1 / num2
}
}
let calcu = Calculator()
calcu.add(num1: 2, num2: 4)
calcu.sub(num1: 2, num2: 5)
calcu.multiply(num1: 2, num2: 5)
calcu.divide(num1: 4, num2: 3)
이 방식은 위에와 반대로, 2개의 수만 다룬다면, 비효율적이다.
하지만, 왠지 다른 수를 자유롭게 원하는 사칙연산에 넣을 수 있다라는 점이 마음에 들어서 위에 방법으로 결정했다.
오늘의 일등공신 chatGPT.
아까 튜터님께 질문하시던데 저도 튜터님께 도움받았습니다. ㅎㅎ 4레벨까지 하셨나요? 오늘도 수고하셨습니다.