절차 지향 언어(Procedure Oriented Programming)객체 지향 언어(Object Oriented Programming)Optional/* 예시 */
let name: String?
: !(느낌표) 붙이기
UIKit: iOS, tvOS(애플 티비) 플랫폼에서 사용자 인터페이스를 구현하고 이벤트를 관리하는 웹 프레임워크
let값이 바뀌지 않는다면 안전하게 let 사용하기!
varvar year: Int = 2022 // type 결정
var y = 2022 // type 추론하도록 함
year = 2023 // (변수이기 때문에) 값 변경 가능
let을 많이 사용하고 var를 줄이는 게 좋다
Func: 함수 정의
func 키워드를 앞에 사용하며, 함수의 반환 타입과 반환 방향 ->를 나타내고 그 뒤에 반환 타입의 이름을 사용/* return 함수 만들기 */
func sum(a: Int, b: Int) -> Int {
return a + b
}
Class클래스를 정의하여 객체를 만들고 사용!
class Operator {
let a: Int
let b: Int // 외부에서 호출된 값을 내부에 있는 a,b에 할당
init(a: Int, b: Int) {
self.a = a
self.b = b
} // 외부에서 호출됨
}
클래스를 선언하는 방법 : class 클래스 이름 { '코드' }
클래스 안의 변수 : 속성
클래스 안의 함수 : 메소드
Struct: 인스턴스의 값(property)을 저장하거나 기능(메소드)을 제공하고, 이를 캡슐화할 수 있는 스위프트가 제공하는 타입(named type)
struct Person {
let a: Int // 상수선언
let b: Int
}
struct 구조체 이름 { ’코드’ }
구조체와 클래스의 차이점
: 구조체는 초기화 함수를 자동으로 생성해주시만, 클래스의 경우 자동으로 생성해 주지 않는다.
What is “init()”init() {
// 초기화 구현
}
Break Point중단점 : 소스 코드의 특정 지점에서 프로그램의 실행을 멈추는데 사용