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