FlowerBombs

추상화 본문

JAVA

추상화

CitronLemon 2019. 2. 28. 01:17

추상화



- 상속으로 인해서 발생할 수 있는 소스코드의 여러 형태들을 단일화 시키기 위해 

  다형성에서 사용되는 기법들을 강제로 사용하도록 소스코드로 설정하는 기법.

- 주로 여러 명이 협업하는 경우 많이 사용된다.




추상 메서드 정의

메서드의 선언만 있고 구현부가 없는 형태

- 하나 이상의 추상 메서드를 포함하는 경우 클래스 역시 추상으로 지정되어야 한다.

1
2
3
4
public abstract class hello { // 추상클래스로 정의 (abstract)
    public void foo() {...}    // 구현부 있음
    public abstract void bar(); // 구현부 없음 = 추상메서드
}
cs


public class World extends Hello {... }

Hello h = new World()


추상 클래스는 상속을 통해서만 기능에 접근 가능하다.

(직접 객체 할당 불가능함. 선언은 가능) ← 암묵적 형변환은 가능.





추상 클래스를 상속받는 경우

자식 클래스는 반드시 부모의 추상 메서드를 재정의하여 구현부를 생성해야 한다.

1
2
3
4
public class World extends hello{
    @Override
    public void bar(){...}   // 부모에게 정의된 추상 메서드를 재정의
}
cs


'JAVA' 카테고리의 다른 글

Static  (0) 2019.03.01
인터페이스  (0) 2019.02.28
객체 배열  (0) 2019.02.28
객체 형변환  (0) 2019.02.28
오버로드  (0) 2019.02.28
Comments