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
'🍎 Swift > iOS 문법 노트' 카테고리의 다른 글
[🍎 Swift 문법] 타입 캐스팅 (0) | 2024.06.25 |
---|---|
[🍎 Swift 문법] 프로퍼티 옵저버 (0) | 2024.06.11 |
[🍎 Swift 문법] 옵셔널(더 찾아보고 추가하기) (0) | 2024.06.05 |
[🍎 Swift 문법] 매개변수(Parameter) & 전달인자(Argument) & 전달인자 레이블(Argument Label) (0) | 2024.06.04 |
[🍎 Swift 문법] 자료형 데이터의 형 변환 (0) | 2024.05.30 |