추상(abstract)의 사전적 의미 :
    - 사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것.
추상(abstract)의 프로그래밍적 의미 : 
    - 객체 간의 공통적 특성을 추출한 클래스.

 

 - 추상 클래스로 생성된 클래스는 추상 메소드를 필수로 정의할 필요가 없다.

 - 하지만, 추상 메서드를 하나라도 가지는 클래스가 된다면, 반드시 추상 클래스로 정의 되어야 한다.

 

[ 추상 클래스를 사용하는 이유 ? ]

1. 객체의 필드와 메소드의 이름을 통일하여 소스의 가독성을 높이기 위해서
  - 명칭만으로 변수와 메서드의 용도를 추축할 수 있는데, 가독성을 높이기 위해서는 각각의 클래스 마다
    변수와 메서드의 명칭을 통일 시켜 주어야 한다.
2. 개발의 효율성을 증대시키기 위해서
  - 추상 클래스 또한 객체이기 때문에 클래스를 상속하면서 누릴  수 있는 이점을 추상 클래스도 그대로
    누릴 수 있다.
  - 많은 객체를 생성해야 할때, 공통되는 메서드나 필드들을 추상 클래스로 만들고, 자식 클래스이
    상속 받아 필요한 필드와 메서드를 그래도 상속하고, 추상 클래스는 자식에서 재정의 하여 개발의 
    효율성을 증대시킬 수 있다.

 

[ 추상 클래스의 사용법 ]

 - 자바에서 추상 클래스를 선언할 때 abstract라는 키워드를 붙혀서 사용하면 됩니다.

 - 단, abstract를 사용하여 추상 클래스를 만들면 new 키워드를 사용하여 직접적인 객체생성이 불가능하고, 

   오직 상속을 통해 자식 클래스만을 만드는 용도로 사용이 가능합니다.

  • 추상 클래스는 인스턴스(instance), 즉 객체를 만들 수 없습니다.(new 연산자를 이용할 수 없다.)
  • 추상 메서드는 하위 클래스에서 메서드의 구현이 강제된다.(오버라이딩 강제성)
  • 추상 메서드를 포함하는 클래스는 반드시 추상 클래스 이여야 한다.

'#Java' 카테고리의 다른 글

접근 제어자(Access Modifier)  (0) 2024.04.12
static 변수  (0) 2024.04.09
String 문자열  (0) 2024.04.08
다차원 배열  (0) 2024.04.05
배열(Array)  (0) 2024.04.05

+ Recent posts