-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
Description
타입캐스팅 is연산자 as연산자 를 알아보겠음
클래스 부분에서 두 키워드를 사용함
왜냐면 클래스는 상속이 가능하기 때문임
클래스의 상속에 관해 간단한 예시를 살펴보겠음
여기서 상속은 저장 프로퍼티를 추가하는 관점에서 보겠음
class Person {
var id = 0
var name = "이름"
var email = "[email protected]"
}
class Student: Person {
var studentId = 1
}
class Undergraduate: Student {
var major = "전공"
}let person1 = Person()
person1.id
person1.name
person1.email
let student1 = Student()
student1.id
student1.name
student1.email
student1.studentId
let undergraduate1 = Undergraduate()
undergraduate1.id
undergraduate1.name
undergraduate1.email
undergraduate1.studentId
undergraduate1.major 이런 식으로 인스턴스를 생성하고 프로퍼티에 접근이 가능해짐
is 연산자
is 연산자는 타입에 대한 검사를 수행하는 연산자임
True 아니면 False 밖에 나오지 않을 거임
위에서 만든 인스턴스에 빗대어 예시를 살펴보겠음
person1 is Person // true
person1 is Student // false
person1 is Undergraduate // false
student1 is Person // true
student1 is Student // true
student1 is Undergraduate // false
undergraduate1 is Person // true
undergraduate1 is Student // true
undergraduate1 is Undergraduate // true이해가 감?
상속의 구조를 이해하고 살펴보면 쉬움
위의 그림을 보면 Undergraduate() 는 Student, Person의 더 큰 범위임
ㅇㅋ 여기까지임