Lv2
미션
- Lv1에서 만든 Calculator 클래스에 “나머지 연산”이 가능하도록 코드를 추가하고, 연산 진행 후 출력
- ex) 나머지 연산 예시 : 6을 3으로 나눈 나머지는 0 / 5를 3으로 나눈 나머지는 2
- 오류가 날 수 있는 ‘예외처리’ 상황에 대해 고민해보기 + 구현하기
🚨 트러블 슈팅

문제 확인
StackOverflow를 사용하여 문제 원인과 해결법 찾기

문제
Swift에서는 부동소수점(Float, Double) 타입에 % 연산자를 사용할 수 없다. %는 정수형(Int 등)에만 정의되어 있기 때문

해결법과 코드이해
a.truncatingRemainder(dividingBy: b)
ChatGPT와 구글을 활용해 코드 이해
적용 및 해결

Lv3, Lv4
미션
- 아래 각각의 클래스들을 만들고 클래스간의 관계를 고려하여 Calculator 클래스와 관계 맺기
- AddOperation(더하기)
- SubstractOperation(빼기)
- MultiplyOperation(곱하기)
- DivideOperation(나누기)
- Calculator 클래스의 내부코드를 변경
- 관계를 맺은 후 필요하다면 별도로 만든 연산 클래스의 인스턴스를 Calculator 내부에서 사용
- Lv2 와 비교하여 어떠한 점이 개선 되었는지 스스로 생각해 봅니다.
힌트 클래스의 책임(단일책임원칙) 공부
핵심: “클래스는 오직 하나의 책임만 가져야 한다.”
코드 작성 중 중복함수 발견

확장성 높은 설계를 만들기 위해서 중복되는 필수 함수는 프로토컬 사용

함수 쉽게 쓰기 위해 매개변수 부분 변경

class Calculator 구현

ExecuteOparation 데이터타입을 연산을 할수있는 클래스를 var op에 넣으면 func calculate의 매개변수로 숫자를 받고 return 연산클래스.excute함수(숫자 매개변수) 으로 반환시킨다!
Calculator 작동

😄