Steady Blog
8. 추상클래스와 인터페이스 - 내용부실 본문
*추상클래스와 인터페이스
1. 추상클래스
1. 추상화의 이해와 선언법
- 추상화라는 것은 구체적인 개념으로부터 공통된 부분들만 추려내어 일반화 할 수 있도록 하는 것을 의미한다.
다시 말해서 일반적으로 사용할 수 있는 단계가 아닌 아직 미완성적 개념인 것이다.
- 추상 메소드의 구성
public abstract void abstractMethod();
- {}를 생략하여 실상 메소드가 하는 일(Body)없이 ;으로 문장의 끝을 나타내었다. 그리고 abstract라는 예약어를 통해 현 메소드가 추상 메소드임을 명시하였다.
- 추상 메소드를 하나라도 가지게 되는 클래스가 바로 추상 클래스가 된다. 그리고 이런 추상 클래스 또한 다음과 같이 추상 클래스임을 명시해야 한다.
public abstract class AbstractClass{}
- 추상 클래스는 객체를 만들 수 없다.
2. 추상화 작업
- 상속이 자손클래스를 만드는데 조상클래스를 사용하는 것이라면, 추상화는 기존의 클래스의 공통부분을 뽑아
내서 조상 클래스를 만드는 것이라고 할 수 있다.
- 상속 계층도를 따라 내려 갈수록 세분화되며, 올라갈수록 공통요소만 남개 된다.
- 추상화 = 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업
- 구체화 = 상속을 통해 클래스를 구현, 확장하는 작업
<예제>
abstract class Diagram{
abstract void draw();
}
class Triamgle extends Diagram{
void draw(){
System.out.println("삼각형을 그린다.");
}
}
class Rectangle extends Diagram{
void draw(){
System.out.println("사각형을 그린다.");
}
}
public class UseDraw{
public static void main(String[] ar){
Diagram[] ref = new Diagram[2];
ref[0] = new Triamgle();
ref[1] = new Rectangle();
for(int i = 0; i<ref.length; i++){
ref[i].draw();
}
}
}
'Programing > Java' 카테고리의 다른 글
10. 패키지, 예외처리, 단언 - 정리 필요 (0) | 2012.08.23 |
---|---|
9. 이너클래스와 열거형 - 정리 필요 (0) | 2012.08.23 |
7.상속과 다형성 (0) | 2012.08.23 |
6. 클래스의 개념 (0) | 2012.08.23 |
5. 배열 - 코딩 할것 많음 (0) | 2012.08.23 |