비전공자의 Swift 기초문법-7

Cobugi·2021년 8월 17일
0

swift

목록 보기
8/12
post-thumbnail

클래스(class)

  • 선언(PascalCase, property, method)
  • 초기화(init) : 인스턴스가 생성될 때
  • 인스턴스 생성
  • 호출 및 변경
  • 소멸(deinit) : 인스턴스가 소멸될 때, 클래스에서만 가능

선언

// 클래스 선언 방식
/*
 class 클래스 이름 {
    프로퍼티와 메서드
 }
 */
 
 // 초기화
 /*
 init(매개변수: 타입, ...) {
    // 프로퍼티 초기화
    // 인스턴스 생성시 필요한 설정을 해주는 코드 작성
 }
 */

class User {
    var name: String	// 프로퍼티
    var age: Int		// 프로퍼티
    
    init(name: String, age: Int) {	// 초기화
        self.name = name
        self.age = age
    }
    
    init(age: Int) {		// 초기화
        self.name = "Cobugi"
        self.age = age
    }
    
    deinit {		// 소멸
        print("\(name)가 소멸됩니다")
    }
    
    func introduce() {      // 매서드
        print("\(name) is \(age)")
    }
}

인스턴스 생성

var user1 = User(name: "Rabbit", age: 32)
var user2 = User(age: 24)

호출 및 변경

// 호출(user1)
user1.name		// "Rabbit"
user1.age     		// "32"
user1.introduce()	// "Rabbit is 32"

// 변경(user1)
user1.name = "Turtle"
user1.name		// "Turtle"
user1.information()     // "Turtle is 24"

// 호출(user2)
user2.name		// "Cobugi"
user2.age		// 24
user2.introduce()	// "Cobugi is 24"

소멸

var user3: User? = User(name: "Tortoise", age: 9)
user3 = nil     // nil이면 인스턴스가 필요없다고 판단, deinit 실행
		// "Tortoise가 소멸됩니다"
profile
iOS Developer 🐢

0개의 댓글