Do.

Swift - Class와 Object의 차이점 본문

iOS

Swift - Class와 Object의 차이점

Hey_Hen 2022. 2. 9. 16:24

객체 지향 프로그래밍을 하다보면 클래스와 오브젝트(객체)라는 단어를 많이 사용하게 되는데 분명히 차이가 있기 때문에 구분지어서 호칭해야 한다. 내용은 별거 없지만 용어는 올바르게 쓰도록 하자

 

class 고양이 {
  ...
}
 

위 코드는 Cat이라는 클래스를 정의하고 있다. 객체는 클래스를 인스터스화 할 때 얻는 것이다.

 

let 메밀 = 고양이()
 

메밀 변수는 Cat 클래스의 객체가 포함된다. 이는 메밀 변수에 고양이 클래스의 인스턴스가 포함되어 있다는 것을 의미하고 즉 객체와 인스턴스는 같은 용어라는 것을 의미한다.

 

고양이 클래스의 인스턴스가 메밀 변수의 타입이라고 볼 수 있다.

class 고양이 {
  var 무늬: String
  var 몸무게: Float

  func punch() {
    ..
  }
}
 
let 메밀 = 고양이()
메밀.무늬 = "고등어태비"
메밀.몸무게 = 4.5

let 소바 = 고양이()
소바.무늬 = "삼색"
소바.몸무게 = 4.3
 

의 코드는 고양이 라는 클래스로부터 메밀이랑 소바 객체(인스턴스)가 생성 된 것이다.

 

건물로 생각하자면 클래스는 건축물의 청사진, 설계도 등으로 볼 수 있고 그것으로 지은 아파트 1, 아파트 2는 각각 객체라고 부를 수 있겠다.

 

Comments