-
Swift 기본 문법 정리 #2Programming Language/Swift 2020. 7. 21. 01:20반응형
참고: 2020/06/22 - [Programming Language/Swift] - Swift 기본 문법 정리
1. 함수
1.1. 작성규칙
func 함수명(변수: 타입) -> 리턴타입 { return 리턴값 }
1.2. Code Snippet
- 자주 사용되는 코드 들을 가져와서 사용 할 수 있다.
- ⌘ + ⇧ + L (command + shift + L) 을 입력하여 코드 스니핏 창을 열 수 있다.
1.3. 파라미터 초기화
func hello(num: Int = 10) -> Int{ return num }
1.4. 입력 파라미터 개수를 모를 때
func addNums(nums: Int...) -> Int{ var sum = 0 for num in nums { sum += num } return sum } addNums(nums: 1, 2, 3, 4)
1.5. Argument Label
- 입력값에 대한 설명
func 함수명(argument_label 변수: 타입) -> 리턴타입 { return 리턴값 } func 함수명(_ 변수: 타입) -> 리턴타입 { return 리턴값 }
1.6. inout 키워드
- inout 키워드를 쓰지않는 일반적인 경우, 파라미터는 상수(let) 으로 선언된다.
- inout 키워드를 사용해서 해당 파라미터가 변수로 선언한다.
func addNums(num1: Int, num2: inout Int) -> Int { num2 = 4 return num1 + num2 } var test1 = 1 var test2 = 2 addNums(test1, &test2) // 5 print(test2) // 4
1.7. 값/참조 에 의한 전달
- 참조에 의한 전달: 값이 저장된 메모리 주소 전달
- 값에 의한 전달: 값 을 전달
2. 클래스 / 구조체
2.0. 공통점 차이점
2.0.1. 공통점
- 속성(Property) 정의
- 메소드(Method) 정의
- 생성자를 통한 초기 설정
- extension, protocol 사용 가능
2.0.2. 클래스만의 특징
- 상속(Inheritance)
- 타입 캐스팅(Type Casting)
- 소멸자로 리소스 정리
2.1. 작성규칙
2.1.1. 클래스
class 클래스명 { // 클래스 바디 init() // 생성자, 인스턴스 생성시 call deinit() // 소멸자, scope 를 빠져나갈 때(소멸될 때) call }
예제
class Circle { var radius = 5 let pi = 3.141592 func area() -> Double { return radius * radius * pi } } let circle = Circle()
2.1.2. 구조체
struct 구조체명 { // 구조체 바디 }
2.2. 생성자
class 클래스명 { init() { // 기본 생성자 } init(num: Int) { // 추가 생성자 } }
2.3. 상속 (Inheritance)
- 부모클래스의 속성을 자식클래스가 상속 받음
class 클래스명 : 부모클래스명 { }
2.3.1. 오버라이딩 (Overriding)
- 상속받은 속성을 자식클래스에서 재정의 하는 방법
class 부모 { func hello() { print('Hello') } } class 자식 : 부모 { override func hello() { super.hello() print("지금은 자식 클래스") } }
반응형'Programming Language > Swift' 카테고리의 다른 글
[SwiftUI] NavigationView 와 NavigationLink 사용법 (0) 2021.04.27 Hello World Alert App (0) 2020.06.23 Swift 기본 문법 정리 (0) 2020.06.22