자료형 체크
Updated:
🔷 자료형 체크
class Pet { // 애완동물 클래스
var name : String
init(name : String) {
self.name = name
}
}
class Cat: Pet { // Pet 클래스를 상속하는 Cat 클래스
var hair: String
init(name: String, _ hair: String) {
self.hair = hair
super.init(name: name) // 부모 클래스의 생성자 호출
}
}
class Dog: Pet { // Pet 클래스를 상속하는 Dog 클래스
var kind: String
init(_ name: String, kind: String) {
self.kind = kind
super.init(name: name) // super 는 부모 클래스의 것
}
}
let myDog = Dog("똘똘이", kind: "치와와")
let myCat = Cat(name: "개냥이", "짧은 털")
let myPets: [Pet] = [myDog, myCat]
myPets.forEach { // collection 에 forEach 로 반복문 돌리기
if $0 is Dog { // is 를 통해 해당 객체의 자료형 판별 가능!
print("\($0.name) 은 강아지 입니다") // 똘똘이 은 강아지 입니다
} else if $0 is Cat { // $0 배열의 아이템 하나하나
print("\($0.name) 은 고양이 입니다") // 개냥이 은 고양이 입니다
}
}
Reference
Swift Tip of the day - 스위프트 기초 문법 - https://spangle-wedelia-2dc.notion.site/Swift-Tip-of-the-day-c428bfd990674bcfa2a4973e5d08c4eb
꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233
Leave a comment