블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total659,138
Today21
Yesterday31

'abstract'에 해당되는 글 1건

  1. 2010.08.09 동물은 먹어야 산다. 추상 클래스.
생물들이 공통적으로 지녀야 하는 특징은 무언가를 먹어야 한다는 것이다. 그 행동이 어떻게 정의되는것인지는 확실하지는 않지만, 무언가를 먹음으로써 그 삶을 유지시켜나가게 된다.


꼭 있어야 하는 메소드.
생물이라는 클래스를 상속받는 것들은 '먹는다' 라는 기능을 필수적으로 갖어야 한다. 생물로써 먹는것이 이루어지지 않는다면 그것은 생물이라고 부를 수 없는 것이다. 이렇게 생물을 상속받는 클래스로 꼭 필요한 기능을 정의해 놓은것이 있는데, 이것을 추상클래스라고 한다. 추상클래스는 추상메소드를 가지고 있으며(추상 메소드가 없는 경우도 있다), 일반적인 메소드도 포함하고 있다. 일반적으로 상속이 가능하며, 꼭 필요한 것에 대해서는 강제적인 구현을 요구하는 것이다. 추상 메소드가 없는 추상 클래스의 경우는 객체의 생성을 방지하기 위해서 추상클래스로 선언하기도 한다.


추상클래스의 선언과 사용.
추상클래스는 abstract 키워드를 사용하여 표현할 수 있다. 그리고 메소드에도 동일하게 abstract 키워드를 선언함으로써 추상메소드로 선언을 할 수 있다.

abstract class A {
    abstract void display();
}

추상클래스는 위와 같이 abstract 키워드를 붙이는 것만으로 선언이 가능하지만, 추상 메소드의 경우에는 약간 방식이 다른다. abstract 키워드를 선언한후, 메소드의 내용을 구분하는 부분을 표시하지 않고 세미콜론(;) 을 통해서 메소드 시그니쳐만으로 선언을 하게된다.


추상클래스의 상속.
추상 클래스를 상속받는 클래스는 추상메소드를 꼭 구현해 주어야 한다. 그렇지 않으면 오류가 발생하게 된다. 그리고 추상메소드만을 포함하고 있는 인터페이스라는 형태가 있는데, 이것은 자바의 다중상속을 가능하게끔 연결을 시켜주는 연결고리와 같은 역할을 하게 된다.

Posted by seanhigher

댓글을 달아 주세요

최근에 달린 댓글

글 보관함