오늘은 아이폰 개발에 필수 언어인 스위프트를 통해서 프로그래밍의 기본 개념이라 할 수 있는
변수, 상수, 함수, 클래스에 대해서 알아보겠습니다.
먼저 예제 실습을 위해 준비를 해보겠습니다. 👩💻 👨💻
xcode에서 playground를 열어줍니다.
기존에 import... 라고 미리 쓰여져 있는 코드를 지워주세요.
간단한 수식을 적어줍니다.
3 * 3 은 9인줄 다들 아시겠지만;;
그래도 값을 확인해봅시다.
작성한 코드 끝에 커서를 대면 코드 줄 숫자 대신 화살표가 뜹니다.
눌러주세요.
그럼 우측 창에서 값을 확인하실 수 있습니다.
9 맞네요ㅎㅎ
이렇게 숫자와 연산자만으로 원하는 계산을 할 수 있습니다.
그런데 왜 변수, 상수 개념이 필요할까요?
변하는 값 변수,, 고정 값 상수.. 도대체 왜??
그냥 그때 그때 필요한 값으로 계산식을 만들면 되지 않을까요?
우리는 무언가가 필요하다고 생각해야 능동적으로 움직이게 됩니다.
따라서 변수, 상수 개념이 사용되는 현실적인 상황에 대해 설명해볼께요.
그래야 이해가 빨리 되지용.
지금 입학/개강 시즌이니까...🤓
학교 근처에 자취방을 구하고 있다고 칩시다.
보증금 500에 월 30만 A방이 있습니다.
옆 블럭에는 신축건물이라 그런지 같은 보증금에 월 40만원 B방이 있습니다.
부동산 아저씨 차타고 다니면서 머리속으로 계산을 해보죠.
1년 산다고 했을 때, 보증금은 같은니까 수식에서 빼고
A방은 30 * 12
B방은 40 * 12
아 아저씨가 또 다른 방을 소개해주시네요. 월 35만원이래요....
그럼 35 * 12
네 여기까지.. 상상하시고..
이제까지
(월세) * (계약기간)을 반복했는데
계약 기간은 12개월이니까 고정 값이 되고
월세는 방마다 달라집니다.
즉
계약 기간은 상수가 되고, (변하지 않는 값)
월세는 변수가 됩니다. (변하는 값)
코드로 작성해볼까요?
.
상수는 let, 변수는 var 이라는 키워드를 씁니다.
네? 키워드는 뭐냐구요?
일단 여기서는 키워드는 컴파일러가 이미 알고 있는 값이다 라는 정도만 이해하고 넘어가주세용
다른 방 비용 계산을 해볼까요?
오호 이렇게 roomFee에만 값을 다르게 해주면 되니 비용계산이 쉬워지죠.
그럼 B방을 한 학기만 머무른다고 했을 때 month에 4를 넣으면 될까요?
아 바로 오류가 뜨네요.
chanage 'let' to 'var' to make it mutable 이라고
mutable 변할 수 있는, 변하는 이라는 뜻이래요.
즉 변하게 할려면 var(변수 키워드)로 바꿔라네요.
변수, 상수 개념은 이정도로 마무리하고
함수로 넘어가볼께요.
함수 정의를 찾아보면...
위키백과에서 찾은 이미지인데요. x값을 상자에서 넣었을 때 계산된 f(x) 가 나오네요.
간단하게 식을 정의해놨다 라고 이해하시면 됩니다.
함수는 func이라는 키워드를 사용하는데요.
아래와 같이 작성해주세요.
calAmountFee라는 함수에 월세를 넣으니 자동으로(?) 일년치 비용이 계산되네요.
미리 r (roomFee에서 땄어요. ) 이 들어보면 month를 곱한 값을 반환(return) 한다고 만들었기 때문이죠.
이제는 다뤄볼 개념은 클래스 입니다.
실제 앱을 만들기 위한 프로그래밍을 하다보면 정말 많은 변수, 상수, 함수들이 필요하게 되는데요.
그럴 때 협업하는 동료들을 위해서, 프로그래머 자신을 위해서😇라도 코드를 읽기 쉽게 작성하는 것은 필수입니다.
여기서 생기는 클래스 개념!
관련된 변수와 함수를 함께 묶어두었다라고 생각하시면 됩니다.
저는 클래스 이름을 Survive라고 붙였는데요.
(마땅히 생각이 안나서...이제보니 맞는 말인거 같기도 하고..ㅎㅎ)
아무튼 관련 단어로 이름을 지어주시면 됩니다.
우리는 앱 개발을 할 때 애플이 수년에 걸쳐 만들어온 클래스들을 사용하게 될텐데요. (애플포에버)
우리가 만들고 싶은 기능에 따라 찾아서 잘 활용하면 됩니다!
오늘 변수, 상수, 함수, 클래스 개념들이 잘 이해되셨나요?
제 글이 많은 도움이 되었으면 좋겠습니다.
한번에 이해가 안되더라도 좌절하지 마시고, 아 이런 내용들이 있구나 하고 일단은 지나가주세요.
우리는 더 큰 산들을 넘어야 되잖아요.
질문 🤷♀️이나 지적🤦♂️은 언제나 환영입니다.😉😉😉
아래에 오늘 실습한 코드 남기겠습니다.
// 계약기간
let month = 12
// A방 월세
var roomFee = 30
month * roomFee
// B방 월세
roomFee = 40
month * roomFee
// 1년치 월세 계산하는 함수
func calAmountFee(r: Int) -> Int {
return r * month
}
calAmountFee(r: 35)
calAmountFee(r: 45)
class Survive {
let month = 12
var roomFee = 30
func calAmountFee(r: Int) -> Int {
return r * month
}
}
--------------------------
iOS프로그래밍 학습을 위해
더 많은 예제 보러가기
--------------------------
'컴퓨터 공학 > Swift' 카테고리의 다른 글
[아이폰앱개발]아이콘 쉽게 넣는 법(asset catalog creator 사용하기) (1470) | 2020.02.26 |
---|---|
[스위프트] 데이터 저장 시 주의할 점(+ 기본형 Int가 있는 이유) (1246) | 2020.02.24 |
[스위프트] 왕초보를 위한 자료형 개념(+자료형 확인하는 방법) (1711) | 2020.02.24 |
[스위프트] NavigationController 텍스트 변경, 없애기_코드포함 (1668) | 2020.02.15 |
[스위프트] 초보를 위한 delegate 정리 2 ( 쉬운 예제 포함 ) (1048) | 2020.02.15 |
댓글