개발은 처음 하는 일이다 보니 로직 구성하는 법에 대해서 제대로 이해를 하지 못했다. 그래서 오늘은 class 로직에 대해서 추가로 공부했다.
먼저 팀의 일원을 소개하는 로직을 짜봤다
class Team{}
먼저 Team 이라는 이름의 class를 만들었다.
var name: String
var address: String
var age: Double
class 안에 var로 이름과 주소, 그리고 나이에 대해 변수를 지정해주었다.
init(name:String, address:String, age:Int){
self.name = name
self.address = address
self.age = age
}
그 다음 초기화 해주는 init을 사용하여 메서드를 하나 만들어줬다.
func introduce(){
print(" 안녕하세요. 저는\(address)에 사는 \(age)살 \(name)입니다.")
}
이름과 주소 그리고 나이를 초기화해주는 메서드를 작성했으니 이제 소개해주는 문구를 작성하는 함수를 작성해주었다.
var jun = Team(name: "홍길동", address: "서울", age: 22)
jun.sayHi()
이제 함수를 지정해 주었으니 함수에 변수를 대입하여 결과값을 뽑아내줄수 있는 로직을 짜줬다.
이런식으로 class를 사용해서 계산기 로직을 만드는 연습을 했다.
class Calculator{
}
아까와 동일하게 Calculator 라는 이름의 class를 먼저 만들어주었다.
class를 만들어주었으면 계산기에 들어갈 숫자 자리와 연산자 자리, 그리고 그 입력된 숫자와 연산자를 저장해줄 array의 변수를 만들어 주었다.
var nowNum: String = ""
var nowCalType: String = ""
var ary: [Double] = []
func updateAry(){
guard let num = Double(nowNum) else {return}
nowNum = ""
ary.append(num)
}
위에 숫자를 입력해서 array라는 바구니에 담아주고, 담아준 숫자가 저장될 수 있게 updateAry라는 함수를 적용해줬다.
func add(){
updateAry()
guard ary.count >= 2 else { return }
ary[0] = ary[0] + ary[1]
ary.remove(at: 1)
}
더해주는 함수를 만들어주었다.
func resetAry() {
ary.removeAll()
}
// 계산기 인스턴스 생성
var calculator = Calculator()
// 10 + 10 계산
calculator.nowNum = "10"
calculator.updateAry()
calculator.nowNum = "30"
calculator.add()
print(calculator.ary.first!) // 결과: 20.0
한 줄 요약
"코딩 실력도 중요하지만 원만한 대인관계를 유지하는것도 중요하다."
유익한 글 잘 봤습니다, 감사합니다.