본문 바로가기
🍎 Swift/iOS 문법 노트

[🍎 Swift 문법] 클래스와 인스턴스

by 솔비님 2024. 6. 7.

 

1. 클래스의 의미

- 객체 지향 프로그래밍의 기본 단위

- 같은 종류의 집단에 속하는 속성과 행위를 정의한 것(데이터와 기능을 하나의 구조로 묶음)

 

 

2. 클래스의 기본 개념

- 클래스 선언 : 클래스를 정의할 때 사용

- 인스턴스 : 클래스에서 만들어진 개별 객체를 의미

  • 클래스 - 강아지
  • 객체(인스턴스) - 멍멍이, 해피, 메리

 ⚠️ 객체와 인스턴스는 동의어가 아님! 

→ 객체는 인스턴스 중 클래스의 인스턴스만 가르키는 한정적인 의미


- 속성 : 클래스가 가지고 있는 데이터(변수)를 의미
- 메서드 : 클래스가 수행할 수 있는 동작(함수)을 의미

 

 

3. 클래스의 기본 구조

//클래스 선언
class Person {
    var name: String    //name과 age는 해당 클래스의 속성임
    var age: Int
    
    /*생성자(이니셜라이저) 정의
    init 메서드는 새로운 인스턴스를 생성할 때 호출되며 속성을 초기화시켜줌
    self란 현재 인스턴스를 가르킴)*/
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
    
    /*메서드 정의
    greet 메서드는 Person 클래스의 인스턴스가 호출할 수 있는 동작
    인스턴스의 속성(name, age)를 이용하여 인사메세지 출력함*/
    func greet() {
        print("Hello, my name is \(name) and I am \(age) years old.")
    }
}

/*클래스의 인스턴스 생성
Person 클래스의 새로운 인스턴스를 생성하고 속성(name, age)을 초기화함*/
let person = Person(name: "John", age: 30)

//위에서 생성한 person 인스턴스의 greet 메서드를 호출하여 인사메세지 출력 
person.greet()

 

 

 

 

참고자료

https://www.youtube.com/watch?v=eYKWGiTNibw

https://nareunhagae.tistory.com/18