오늘의 주제
1. 상속의 개념
아홉번째 시간입니다.^^
Objective-C는 정말 오랜만이네요..^^
이번에는 클래스의 상속에 대해 알아보도록 합니다.^^
2012/01/30 - [Objective-C] - Objective C <5>. 클래스와 객체(인스턴스)<1>
2012/02/05 - [Objective-C] - Objective C <6>. 클래스와 객체(인스턴스)<2>
이 두개의 포스팅 지식을 필요로 합니다~
# 상속이란?
상속이란 무엇일까요?
즉, 이미 만들어져 있는 클래스에서 내가 원하는 부분을 추가하거나 변경하여 새로운 클래스를 생성할 수 있습니다.
그림에서 보다시피 부모가 자식에게 자신의 대부분의 것을 물려줍니다.
자, 그럼 이 NSObject라는 녀석을 한 번 살표볼까요?
NSObject 에서 오른쪽 버튼 클릭을 하여 Jump to Definition로 향합니다^^
그러면 Foundation framework에 포함된 NSObject.h 파일에서 NSObject의 선언부를 볼 수 있습니다.
NSObject에 이런저런 많은 메소드들이 선언되어있네요^^
우리가 어떤 인스턴스를 만들어 줄 때, alloc , init 해줬던 것을 기억하시나요?ㅎ
고녀석들 요기있네요~~~~~~~~~ㅎㅎㅎ 말씀드렸듯이 모든 클래스들은 NSObject를 상속받기 때문에 어디서든지 alloc, init을 할 수 있는 것입니다.
자, 대충 개념은 잡았겠다, 실습 한 번 들어가 봅시다 ㅎ
Cocoa의 Objective-C class를 선택해 주시고 Next~
자, 그 후에 여기서!! Subclass of MyFirstClass를 해 주는 겁니다!!
MyFirstClass를 상속 받겠다는 의미가 되겠습니다!!
그 후에 클래스명을 FirstChildClass로 합니다.
FirstChildClass.h로 이동해 봅니다.
MyFirstClass를 상속하고 있다고 명기되어 있습니다. 정말 딱 이거 하나 있는데 이 클래스에서 어떤일이 벌어졌을까요?ㅎㅎㅎ
심지어 구현부도 텅텅 비어있는 멍텅구리 같아 보입니다 ㅎㅎㅎ
자, 하지만 우리는 상속받고 있다는 것을 알기 때문에, 무작정 뭔가를 시도해 봅시다~
열시미 타이핑타이핑 ~_~ 자세한 소스 설명은 주석에 담겨있지요?ㅎ
짜잔~~~~~~~ 실행 결과입니다.
분명히 자식클래스는 속이 텅텅 비어있는 녀석 같아보였는데, 부모클래스에서 이미 만들어져 있는 메소드와 변수를 사용할 수 있었습니다.
캬~ 우리 모두 정말 부모님께 감사해야 합니다...ㅋㅋ
여하간 이것으로 상속에 대한 개념을 좀 알아봤습니다. 횡설수설이라 이해가 잘 되실지는 모르겠네요ㅠ_ㅠ
혹여나 이해가 되지 않는 부분 또는 잘못된 점이 있다면 댓글 부탁드립니다~^^
그럼 뿅!!!!!!!!!!!!!
by yagom
twitter : @yagomsoft
p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기
↓↓↓저 열심히 썼는데 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓
'Objective-C' 카테고리의 다른 글
Objective C <11>. 딕셔너리, 배열 ( NSDictionary, NSArray ) (34) | 2012.04.20 |
---|---|
Objective C <10>. 상속(2) - 오버라이딩 (8) | 2012.04.10 |
Objective C <8>. 메소드의 선언과 반환값 (17) | 2012.03.16 |
Objective C <7>. 이름짓기 (6) | 2012.02.14 |
Objective C <6>. 클래스와 객체(인스턴스)<2> (57) | 2012.02.05 |