swift 객체에 대해 생각해보자.

2022. 9. 16. 15:24swift

객체란?... 

한국은 객체라는 말을 많이 쓰고, 외국에서는 인스턴스라는 말을 많이 쓴다.

객체는 우선 class sturc를 통해 사용한다.

 

class는 

class Hemg {

name: String

age: Int

으로 클래스를 생성해준다.

 

init- 매소드 생성자 (초기화)

 

init(names:String, ages:Int) {
self.name = names

self.age = ages

} 를 생성해 매개변수를 만들어 객체를 만들어준다 이렇게 만들고 나면 다른 곳에서 이 객체를 사용할 수 있다.

(클래스 객체에서 만든 인스턴스가 지금은 2개이지만 3개 혹은 4개~ 그 이상이 있더라도 init에서 초기화해서 사용이 가능하다)

객체 안에 모든 것들을 초기화하려고 할 경우 designated initializer(name, age)라고 한다.

반대로 인스턴스를 소멸할 때는 deinit {}을 넣어주면 된다.(인스턴스가 소멸될 때 자동으로 호출된다.)

 

기본적인 코드로 표현해보겠습니다.

class Tast { //객체 생성

    var name: String = ""

    var age: Int = 1

    func set() { //함수 생성

        print("name=\(name), age=\(age)")

    }

    init(names: String, ages: Int) { //초기화

        name = names

        age = ages

    }

}

 

var he = Tast(names: "kaka", ages: 21)

var hes = Tast(names: "coco", ages: 22)

var hed = Tast(names: "cmae", ages: 0)

he.set()

hes.set()

hed.set()

//변수를 만들고 객체를 불러와서 함수에 넣어 사용한다.

 

객체를 만들고 그것을 초기화한 상태에서 변수를 생성하여 객체를 언제든지 쓸 수 있게 된다.

 

객체를 지속적으로 사용할 수 있다.!!! 정말 편해지는??

 

객체를 만들고 메소드 와 프로퍼티 접근 하기

우선 코드로 작성해 보겠습니다.

class Tast { //객체 생성

    var name: String = "ios"

    var age: Int = 14

    func set() { //함수 생성

        print("name=\(name), age=\(age)")

    }

}

    var hong : Tast = Tast()

    hong.set()  // 함수를 호출한다.

    print(hong.age) //객체 내의 프로퍼티 접근

 

 

 

 

 

 

'swift' 카테고리의 다른 글

구조체와 클래스  (0) 2023.08.22
야곰 아카데미 스위프트 `코드 스타터` 7기 후기  (0) 2023.03.30
What's new in Swift(wwdc2022) [3]  (2) 2022.09.08
What's new in Swift(wwdc2022) [2]  (1) 2022.09.08
What's new in Swift(wwdc2022) [1]  (1) 2022.09.08