일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SwiftUI Boolean 값
- App Store Connect
- weatherKit
- UIAlertAction
- Xcode
- 영문 개인정보처리방침
- 서체관리자
- addannotation
- 한국어 개인정보처리방침
- dispatchsource
- swift
- xcode로 날씨앱 만들기
- RunningTimer
- 러닝타이머
- UICollectionViewFlowLayout
- CoreLocation
- Startign Assignments
- weak var
- 클로저의 캡슐화
- 러닝기록앱
- Timer
- MKMapViewDelegate
- MKMapItem
- Protocol
- 단일 책임원칙
- WeatherManager
- Required Reason API
- CLLocationManagerDelegate
- font book
- AnyObject
Archives
- Today
- Total
VesselWheel
Class 와 사칙연산을 활용한 계산기 만들기 본문
1. class 구조화
import Foundation
class Calculator {
var a : Double?
var b : Double?
//덧셈
func plus(_ a: Double, _ b: Double) -> Double {
return a + b
}
//뺄샘
func minus(_ a: Double, _ b: Double) -> Double {
return a - b
}
//곱셉
func multi(_ a: Double, _ b: Double) -> Double {
return a * b
}
//나눗셈
func divide(_ a: Double, _ b: Double) -> Double? {
guard b != 0 else {
print("0으로 나눌 수 없어요.")
return nil
}
return a / b
}
//나머지
func remain(_ a: Int, _ b: Int) -> Int {
return a % b
}
}
//class 인스턴스 생성, 실질적인 값을 저장하고 사용하려면 메모리 공간을 할당받은 객체
let cal = Calculator()
//<인스턴스 이름>.<프로퍼티 이름>
cal.divide(4, 2)
cal.minus(7, 2)
cal.remain(12, 5)
cal.divide(4, 0)
2. 객체지향 class
import Foundation
class Calculator {
var firstNumber : Double?
var secondNumber : Double?
//덧셈
func plus(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber + secondNumber
}
//뺄샘
func minus(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber - secondNumber
}
//곱셉
func multi(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber * secondNumber
}
//나눗셈
func divide(_ firstNumber: Double, _ secondNumber: Double) -> Double? {
guard secondNumber != 0 else {
print("0으로 나눌 수 없어요.")
return nil
}
return firstNumber / secondNumber
}
//나머지
func remain(_ firstNumber: Int, _ secondNumber: Int) -> Int {
return firstNumber % secondNumber
}
}
//<인스턴스 이름>.<프로퍼티 이름>
let calculator = Calculator()
let addResult = calculator.plus(2, 2)
let subtractResult = calculator.minus(2, 2)
let multiplyResult = calculator.multi(2, 2)
let divideResult = calculator.divide(4, 2)
let remainderResult = calculator.remain(4, 2)
print("addResult : \(addResult)")
print("subtractResult : \(subtractResult)")
print("multiplyResult : \(multiplyResult)")
print("divideResult : \(divideResult)")
print("remainderResult : \(remainderResult)")
3. Calculator() 부모 class를 자녀 class에 상속 : 의미는 이해가 안되지만 구현해보았다.
import Foundation
class Calculator {
var firtNumber : Double?
var secondNumber : Double?
//덧셈
func AddOperation(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber + secondNumber
}
//뺄샘
func SubtractOperation(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber - secondNumber
}
//곱셉
func MultiplyOperation(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber * secondNumber
}
//나눗셈
func DivideOperation(_ firstNumber: Double, _ secondNumber: Double) -> Double? {
guard secondNumber != 0 else {
print("0으로 나눌 수 없어요.")
return nil
}
return firstNumber / secondNumber
}
/*
//나머지
func remain(_ firstNumber: Int, _ secondNumber: Int) -> Int {
return firstNumber % secondNumber
} */
}
// 덧셈 연산 클래스
class AddOperation : Calculator {
func operate(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber + secondNumber
}
}
// 뺄셈 연산 클래스
class SubtractOperation : Calculator {
func operate(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber - secondNumber
}
}
// 곱셈 연산 클래스
class MultiplyOperation : Calculator {
func operate(_ firstNumber: Double, _ secondNumber: Double) -> Double {
return firstNumber * secondNumber
}
}
// 나눗셈 연산 클래스
class DivideOperation : Calculator {
func operate(_ firstNumber: Double, _ secondNumber: Double) -> Double? {
guard secondNumber != 0 else {
print("Error: 0으로 나눌 수 없음")
return nil
}
return firstNumber / secondNumber
}
}
let calculator = Calculator()
let addResult = calculator.AddOperation(45, 23)// 덧셈 연산
let subtractResult = calculator.SubtractOperation(523, 323)// 뺄셈 연산
let multiplyResult = calculator.MultiplyOperation(532, 2)// 곱셈 연산
let divideResult = calculator.DivideOperation(100, 2)// 나눗셈 연산
print("addResult : \(addResult)")
print("subtractResult : \(subtractResult)")
print("multiplyResult : \(multiplyResult)")
print("divideResult : \(divideResult)")
- 빌드 실패... 방법을 찾아보자~!
'Coding Test Practice in Swift' 카테고리의 다른 글
부족한 금액 계산하기 (1) | 2023.12.05 |
---|---|
약수의 개수와 덧셈 (1) | 2023.11.29 |
내적 구하기 ft. 스칼라 (0) | 2023.11.28 |
제곱근 구하기 (0) | 2023.11.27 |
수박수? 반복패턴 만들기 (2) | 2023.11.27 |