2009년 11월 22일
상속이란 모듈의 재사용과 코드 간결성을 제공하는 특성을 말한다.
우리는 이번시간에 클래스 사이에 상속에 대한 학습을 해 보았다.
예를들어
class A{
.....
}
class B{
....
}
이렇게 두개의 클래스가 존재한다고 할때,
A의 것을 B가 상속하기 위해서 extends라는 단어를 이용할 수 있었다.
extend란 연장하다,늘리다의 의미로서
class A{
.....
}
class B extends A{
....
}
위와같이 사용되는 경우 클래스B는 클래스A를 상속했다(A의 것을 B가 상속) 즉 클래스B는 클래스A를 확장한다 라는 의미를
가진다.
여기서 A클래스를 상위클래스 또는 부모클래스라고 부르고 B클래스를 자녀클래스 또는 부모클래스라고 한다.
이와 같은경우 클래스가 상속되면 상위 클래스의 모든 요소들이 바로 하위클래스로 상속되게 되는 것이다.
그렇기 때문에 간결성을 갖게 되는것이다. 여기까지가 상속의 핵심부분이라 할 수 있겠다.
또한 상속과 관련하여 접근한정자에 대해서도 추가적으로 다루어 보았는데, 우리는 protected라는 접근한정자를 배웠다.
이는 같은 패키지내의 클래스와 같은 패키지는 아니더라도 상속된 클래스에서 사용가능한 것을 말한다.
전시간에 다루었던 public과 private를 와 함께 사용되고 있다.
또한 4장에서 다루었던 오버로딩(같은클래스내에 같은 이름의 생성자,메소드를 사용하는행위,단 매개변수의 개수와 타입은 달라야함 )과 오버라이딩에 대해 배웠다.
오버라이딩이란 상속관계에서 사용되는 것을 말하는데, 이는 상속관계의 클래스같에 같은 이름의 메소드를 정의하는 경우를
말한다. 이때 상위클래스의 메소드와 하위클래스의 메소드 이름 같아야하며 오버로딩과 달리 매개변수의 타입과 개수까지도 같아야한다는 것을 예제를 통해 확인해 볼 수 있었다.
또한 하위클래스에 의해 가려져있는 상위클래스의 멤버변수나 메소드의 접근을 원할경우 이루는 super를 이용하여
접근해 볼 수 있었다.
수업시간에 좀 더 빨리 이해하고 수업진행에 맞춰서 따라가기 위해서는 영타연습을 좀 더 해야할듯 싶다 ㅠㅠ
내스스로가 예제를 하나라도 확실히 해보고, 이해하고 넘어가는 것이 수업에 큰 도움이 되는듯 하기 때문이다.
# by 스피넬 | 2009/11/22 22:23 | 트랙백 | 덧글(1)