🏠 Swift 객체(Object)란 무엇인가요?
– 객체지향 프로그래밍(OOP)의 시작!
Swift를 배우다 보면 꼭 듣게 되는 말, 바로 “객체(Object)”! 그럼 도대체 객체가 뭐길래 이렇게 중요할까요? 이번 글에서는 객체가 무엇인지, Swift에서 어떻게 사용하는지, 그리고 실습 예제까지 통해 객체지향 프로그래밍(OOP) 의 기초를 배워볼 거예요.
Swift 객체 Object |
✅ 객체(Object)란?
객체는 현실 세계의 사물이나 개념을 코드로 표현한 거예요.
예를 들어, “자동차“를 생각해볼까요?
-
속성(특징): 색상, 속도, 브랜드
-
동작(기능): 달리기, 멈추기, 경적 울리기
이렇게 어떤 특징(데이터) 과 행동(기능) 을 묶어 놓은 것이 바로 “객체“입니다!
Swift에서는 이 객체를 만들기 위해 주로 클래스(Class) 와 구조체(Struct) 를 사용해요.
🏗️ Swift에서 객체 만들기 (Class & Struct)
클래스(Class) 예제 – 자동차 객체 만들기
class Car {
var color: String = "Red"
var speed: Int = 0
func drive() {
speed += 10
print("달리는 중! 현재 속도: \(speed)km/h")
}
func stop() {
speed = 0
print("멈췄습니다.")
}
}
이렇게 정의하면, 이제 자동차 객체를 생성해서 사용할 수 있어요.
let myCar = Car()
myCar.drive() // 달리는 중! 현재 속도: 10km/h
myCar.stop() // 멈췄습니다.

Swift 객체 실습
⚡ 구조체(Struct)도 객체!
Swift에서는 Struct 도 객체를 만들 때 자주 사용돼요.
특히 값 타입(Value Type)으로 활용됩니다.
구조체 예제 – 학생 객체 만들기
struct Student {
var name: String
var grade: Int
func introduce() {
print("안녕하세요, \(grade)학년 \(name)입니다.")
}
}
let student = Student(name: "지우", grade: 6)
student.introduce() // 안녕하세요, 6학년 지우입니다.
Swift 객체 실습 |
🎯 클래스와 구조체의 차이
구분 |
클래스 (Class) |
구조체 (Struct) |
---|---|---|
타입 |
참조 타입 (Reference) |
값 타입 (Value) |
상속 |
가능 |
불가능 |
사용 예시 |
복잡한 데이터 모델 |
가벼운 데이터 전달 |
메모리 |
힙(Heap) 저장 |
스택(Stack) 저장 |
🧪 객체 실습 예제
실습 1: 스마트폰 객체 만들기 (Class)
-
속성: 브랜드, 배터리 잔량
-
동작: 충전하기, 전화 걸기
class Smartphone {
var brand: String = "iPhone"
var battery: Int = 100
func call() {
battery -= 10
print("전화 중... 배터리: \(battery)%")
}
func charge() {
battery = 100
print("충전 완료! 배터리: \(battery)%")
}
}
Swift 객체 실습 |
실습 2: 책(Book) 객체 만들기 (Struct)
-
속성: 제목, 저자
-
동작: 책 소개하기
struct Book {
var title: String
var author: String
func info() {
print("책 제목: \(title), 저자: \(author)")
}
}
let book = Book(title: "Swift 배우기", author: "홍길동")
book.info()
Swift 객체 실습 |
💡 객체를 왜 사용할까요?
-
✅ 현실 세계의 개념을 코드로 쉽게 표현
-
✅ 데이터(속성)와 기능(메서드)을 하나로 묶어서 관리
-
✅ 코드 재사용성 증가 (객체 여러 개 생성 가능)
-
✅ 유지보수와 확장에 유리
✨ 마무리하며
객체(Object)는 현실을 코드로 옮기는 도구입니다.
Swift에서는 class와 struct로 객체를 정의하고,
그 객체를 통해 데이터를 저장하고 기능을 수행할 수 있어요.
댓글 쓰기