본문 바로가기

iOS 앱 개발자 프로젝트/개인 프로젝트

[Project] #1 나만의 계산기 만들기(Lv1-4)

2024년 03월 05일
개인 프로젝트를 위한 개발을 시작해보자 !

 

# 과제 : 나만의 계산기 만들기

 

필수 구현 기능 (Lv1~3)

Lv1
  • 더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들기
  • 생성한 클래스를 이용하여 연산을 진행하고 출력
  • Playground 파일 생성 → Calculator 클래스 구현하고 그 아래에 인스턴스 생성
//import UIKit

//var greeting = "Hello, playground"

class Calculator {
		// Todo : 내부 구현하기
}

let calculator = Calculator() // 인스턴스 생성하여 변수에 할당

// Todo : calculator 변수를 활용하여 사칙연산을 진행

 

 

Lv2
  • Lv1에서 만든 Calculator 클래스에 “나머지 연산”이 가능하도록 코드를 추가하고, 연산 진행 후 출력             

               ex) 나머지 연산 예시 : 6을 3으로 나눈 나머지는 0 / 5를 3으로 나눈 나머지는 2

 

 

Lv3
  • 아래 각각의 클래스들을 만들고 클래스간의 관계를 고려하여 Calculator 클래스와 관계 맺기
    • AddOperation (더하기)
    • SubstractOperation (빼기)
    • MultiplyOperation (곱하기)
    • DivideOperation (나누기)
  • Calculator 클래스의 내부코드를 변경
    • 관계를 맺은 후 필요하다면 별도로 만든 연산 클래스의 인스턴스를 Calculator 내부에서 사용
  • Lv2 와 비교하여 어떠한 점이 개선 되었는지 스스로 생각해 봅니다.
    • hint. 클래스의 책임(단일책임원칙)

 

선택 구현 기능 (Lv4)

Lv4 (힌트 : 추상화)
  • AbstractOperation라는 추상화된 클래스를 만들기
  • 기존에 구현한 AddOperation(더하기), SubtractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 클래스들과 관계를 맺고 Calculator 클래스의 내부 코드를 변경
  • 스위프트의 어떤 문법을 이용하여 추상화할 수 있을지 생각해 봅시다
  • Lv3 와 비교해서 어떠한 점이 개선 되었는지 스스로 생각해 봅니다.
    • hint. 클래스간의 결합도, 의존성(의존성역전원칙)