2008년 10월 12일
CHAPTER5 예습(1)
5장을 예습 해가야하나 말아야 하나 라는 고민을 잠시 했었다.
기말고사부터 들어갈 5장을 지금 예습해 버리면
막상 5장 들어갈때는 또 백지가 되어 버릴게 분명하기 때문이다.
하지만 교수님께서는 아무 말씀도 없으셨던 관계로 5장을 예습 한다.
5장에서는 상속에 대해 좀더 자세히 배우는 시간인것같다.
상속 - 객체지향 언어의 장점인 모듈의 재사용과 코드의 간결성을 제공하는 중요한 특성
상속을 간단한 개념으로 빨리 이해하자면...
예를 들어 케잌 이라는 상위 클래스가 있다. 또 그 케잌은 크림케잌과 아이스크림 케잌 등으로 나뉠수 있고
크림 케잌은 올려지는 토핑에 따라 새롭게 분류 될수 있다. 하지만 아무리 재료를 다르게 올리고 모양을
바꾼다고 해서 근본인 케잌이 아니어지지 않는다.
상속의 개념을 이용하여 클래스들의 계층 구조를 구성할 수 있다.
일반적인 클래스 정의 -> 클래스로부터 상속된 새로운 클래스 생성 -> 상속되어 생성된 클래스는
이미 작성된 일반적인 모든 요소에 자동 상속 -> 특정한 일을 위해 필요로 되는 새로운 요소 추가하여 생성
자바에서의 모든 클래스들은 상위 클래스를 가진다.
클래스 선언 시 상위 클래스를 지정하기 위해 extends라는 예약어를 사용한다.
[public/final/abstract] class 클래스 이름 extends
상위클래스 이름 {
.............. // 멤버변수 선언
.............. // 생성자 선언
.............. // 메소드 선언
}
오버라이딩 - 상속 관계에 있는 클래스들 간에 같은 이름의 메소드를 정의하는 경우
이와 비슷한 내용으로 4장에서 오버로딩을 배운적이 있다.
오버로딩은 같은 클래스 내에서 같은 이름의 메소드를 정의하여 다형성을 지원하는 것이고
오버라이딩은 상속관계에 있는 상위 클래스와 하위 클래스에서 같은 이름의 메소드를 정의하여 다형성 제공
결국 이 두 기능은 객체지향 언어의 주요 개념인 다형성을 제공하기 위해 쓰인다.
자바를 프로그래밍 할때 자주보게 될 기능 같으니까 알아두는 편이 좋을 것같다.
Think...
교수님께서 많이 바쁘신가 보다...검사를 안하신 글이 있는걸 보면 말이다.
아무 말씀이 없으셔서 예습을 하긴 했지만...
왠지 이제는 예습보단 처음부터 4장까지를 다시 보는 시간을 가지는게
어떨지 하는 생각을 해본다.
# by | 2008/10/12 22:49 | 트랙백 | 덧글(2)



