[swift] swift 기본 문법 스터디 8주차
상속
-
서브클래싱
- 상속 받아 새로운 클래스를 만드는 것
- 상속 받은 클래스의 프로퍼티와 메소드는 다 가진채로 추가 구현을 해줌
- 상속은 1개만 가능, 나머지는 프로토콜
- 중복의 문제
-
오버라이딩
- 덮어쓰기
- 상속받은 메소드와 프로퍼티를 재정의(덮어쓰기 가능)
- 메소드는 인자와 반환타입까지 일치
- 프로퍼티는 연산형으로 get, set 구현
타입 캐스팅
상속을 받으면 타입이 달라지는데, 이를위해 타입을 변환할 수 있다.
-
타입 비교 연산
- is로 비교하고, 같은 타입이거나, 상위 타입이면 true를 반환
- 그 외에는 모두 false를 반환
-
타입 캐스팅 연산
- as 를 이용해서 캐스팅
- 다운 캐스팅과 업캐스팅 가능
- 업 캐스팅은 보통 문제없음 (as)
- 다운 캐스팅은 문제가 생길 수 있음 (as?, as!)
Any, AnyObject
- 모든 클래스와, 타입의 부모
- 어떤 캐스팅도 가능하다
- 제공 메소드, 프로퍼티가 없음
초기화 구문
-
init 초기화 메소드
- init 이라는 이름의 메소드는 초기화에 사용됨
- 인스턴스를 생성할 때는 이름을 호출하지 않아도 가능 인스턴스 생성시 간접 호출
- 여러개의 초기화 구문작성 가능 (오버로딩 지원)
-
초기화 구문의 오버라이딩
- 상속받아 초기화를 하면 부모의 프로퍼티가 초기화가 되지 않음
- super.init()으로 초기화 가능
댓글
댓글 쓰기