본문 바로가기

스위프트기본5

구조체 (Struct) 정의 문법 스위프트 대부분의 타입은 구조체로 이루어져 있다. 구조체는 값 타입이다. 타입이름은 대문자 카멜케이스를 사용하여 정의한다. struct 이름 { /* 구현부 */ } 프로퍼티 및 메서드 구현 프로퍼티는 변수의 다른 이름을 말한다. 클래스, 구조체, 열거형 등 전체적으로 사용되는 변수를 프로퍼티라고 부른다. 프로퍼티에는 저장, 연산, 타입 프로퍼티가 있다. 메서드는 함수와 같은 의미인데, 구조체, 클래스 내에서 쓸 때 메서드라고 한다. struct Sample { // 가변 프로퍼티 var mutableProperty: Int = 100 // 불변 프로퍼티 let immutableProperty: Int = 100 // 타입 프로퍼티 static var typeProperty: Int = 100.. 2024. 4. 1.
옵셔널 옵셔널 변수 뒤에 붙는 ? 물음표가 바로 옵셔널이다. 옵셔널 변수는 값이 있을 수도 또는 없을 수도 있다는 의미이다. name이라는 변수에 String 타입으로 "jerry"라는 값을 할당했다. var name: String = "jerry" print(name) // jerry 근데 만약에 name이라는 변수에 들어갈 값이 아직 정해지지 않았다면? String 타입 뒤에 ? 물음표를 붙인다. 그러고 print()로 출력하면 nil이 출력된다. var name: String? print(name) 나중에 name이라는 변수에 값을 할당한다면? 그리고 출력하면 Optional("jerry")가 나온다. var name: String? = "jerry" print(name) // Optional("jerry.. 2024. 3. 29.
조건문 if ~ else switch if ~ else 구문 if ~ else 구문의 기본 형태 if 조건 { /* 실행 구문 */ } else if 조건 { /* 실행 구문 */ } else { /* 실행 구문 */ } if ~ else 의 사용 스위프트의 조건에는 항상 Bool 타입으로 들어와야 한다. 즉, myNumber 100 { print("100 보다 커요") }.. 2024. 3. 26.
함수 고급 매개변수 기본 값 매개변수에 기본적으로 전달될 값을 미리 지정할 수 있다. ⭐️ 기본값을 갖는 매개변수는 매개변수 목록 중에 뒤 쪽에 위치하는 것이 좋다. func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 = 매개변수 기본값 ...) -> 반환타입 { /* 함수 구현부 */ return 반환값 } 예: friend 라는 매개변수에는 기본값이 없고, me 라는 매개변수에는 기본값을 할당 함수 func greeting(friend: String, me: String = "mike") { print("Hello \(friend)! I'm \(me)") } greeting 함수를 호출하면? greeting(friend: "jerry") // Hello jerry! I'm mike .. 2024. 3. 22.
함수 함수의 선언 기본형태 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { /* 함수 구현부 */ return 반환값 } 예: 두 개의 정수를 받아서 더한 값을 정수로 반환하는 함수 func sum(a: Int, b: Int) -> Int { return a + b } 반환 값이 없는 함수 반환 값이 없을 경우에는 반환 타입에 Void를 설정하거나, 반환 타입을 생략할 수 있다. func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> Void { /* 함수 구현부 */ return } 예: 매개변수 name에 String 타입의 값을 입력 받아 이름을 출력하는 함수 func printMyName(name: Str.. 2024. 3. 22.