자바/자바 기초

추상 클래스

qkwi 2021. 11. 10. 17:12
728x90

## 추상 클래스

 

- 미완성 설계도 (미완성 메서드를 포함하고 있다는 의미)

 

- 공통 부분만은 그린 미완성 설계도

  - ex) Tv - > 여러 종류의 모델이 있지만 90% 동일한 설계도 사용 : 공통 부분만을 그린 미완성 설계도를 만들어놓고 각각의 설계도 작성

 

- 추상 메서드 : 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것

 

  // 주석을 통해 어떤 기능을 수행할 목적으로 작성됐는지 적어놓기

  abstract void play(int pos);

 

- 추상화 , 구체화

   - 추상: 낱낱의 구체적 표상이나 개념에서 공통된 성질을 뽑아 이를 일반적인 개념으로 파악하는 정신 작용

   - 추상화: 클래스 간의 공통점을 찾아내서 공통의 조상을 만드는 작업

   - 구체화:  상속을 통해 클래스를 구현, 확장하는 작업

 

- 사용예시

 

abstract class Unit{

      int x,y ;

      abstract void move(int x int y ); // 선언부만 작성하기 몸통은 자손클래스가 작성

    }



    class Marine extends Unit{

      void move(int x, int y) {} // 메소드 구현하기

    }



   

    class Tank extends Unit{

      void move(int x, int y) {} // 메소드 구현하기

    }



    Unit [] group = new Unit[2];



    group[0] = new Marine();

    group[1] = new Tank();



    for (int i = 0 : i< group.length; i++){

      group[i].move(100,200);

    }

 

  ```



---

728x90