반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- dictionary
- 문자열
- Realtime Database
- LazyHStack
- Apple
- Android
- Observable
- Firebase
- UIButton
- 다크모드
- WebView
- github
- NavigationLink
- UIScrollView
- autolayout
- SwiftLint
- Alamofire
- gcd
- 웹뷰
- SwiftUI
- swipe
- ios
- Java
- Swift
- 라이트모드
- remote config
- subscript
- RxSwift
- UITabBarController
- string
Archives
- Today
- Total
점진적 과부하 개발 블로그
Swift 클래스(class) 본문
반응형
클래스란 무엇인가?
객체가 생성되었을 때 어떠한 모습을 보일 것인지를 정의한 것입니다.
같은 종류의 집단에 속하는 속성과 행위를 정의한 것입니다.
객체지향 프로그램의 기본 사용자 정의 데이터 타입이라고 할 수 있습니다.
클래스 선언
- 프로퍼티 부분은 클래스 내에 포함되는 변수와 상수를 정의한다.
- 인스턴스 메서드는 객체가 호출하는 메서드를 정의한다.
- 타입 메서드는 클래스가 호출하는 메서드를 정의한다.
class 새로운 클래스 이름: 부모 클래스 {
// 프로퍼티
// 인스턴스 메서드
// 타입 메서드(클래스 메서드)
}
클래스의 property
class Animal {
var dog : String?
var cat : String?
}
클래스에 메서드(method)
class Animal {
var dog: String = "강아지"
var cat: String = "고양이"
func display() {
print("좋아하는 동물=\(dog), 싫어하는 동물=\(cat)")
}
}
클래스의 인스턴스(객체) 만들기
클래스로부터 만들어진 객체를 인스턴스라 한다.
class Animal {
var dog: String = "강아지"
var cat: String = "고양이"
func display() {
print("좋아하는 동물=\(dog), 싫어하는 동물=\(cat)")
}
}
var animal = Animal() // var 인스턴스명: 클래스명()
animal.display() // 인스턴스 메서드는 인스턴스가 호출
클래스(class or type) 메서드
- 클래스명. 클래스 메서드()
- 타입 메서드 또는 클래스 메서드는 클래스 레벨에서 동작하는 것으로, 클래스의 새로운 인스턴스를 생성하는 것과 같은 동작
- 타입 메서드는 인스턴스 메서드와 동일한 방법으로 선언하지만 class나 static 키워드를 앞에 붙여서 선언
- class키워드로 만든 클래스 메서드는 자식 클래스에서 override가 가능하다.
import Foundation
class Animal {
var dog: String = "강아지"
var cat: String = "고양이"
func display() {
print("좋아하는 동물=\(dog), 싫어하는 동물=\(cat)")
}
class func example() {
print("example은 클래스 메서드 입니다.")
}
static func example2() {
print("example2는 클래스 메서드 입니다.")
}
}
var animal = Animal()
animal.display() // 인스턴스 메서드는 인스턴스가 호출
Animal.example() // 클래스 메서드는 클래스가 호출
Animal.example2() // 클래스 메서드는 클래스가 호출
클래스와 구조체의 차이 : https://wlqkr.tistory.com/21
출처 : iOS 프로그래밍 기초 한성현 교수님 강의 변형 및 요약
반응형
'Swift > 문법' 카테고리의 다른 글
Swift 문법 정리 2 (0) | 2022.01.07 |
---|---|
Swift initializer (0) | 2022.01.07 |
Swift 클로저(Closure) (0) | 2022.01.06 |
Swift guard문 (0) | 2022.01.05 |
Swift 문법 정리 1 (0) | 2022.01.03 |