JAVA 무작정 따라하기
5. 자바 추상클래스 간단 정리
- 추상 클래스의 의미를 이해할 수 있도록 노력해봅시다.
- 추상 메소드의 의미를 이해해 봅시다.
- 추상 클래스와 메소드의 사용 시기를 알아봅시다.
1. 추상 메소드
- 몸체의 구현이 없이 형식만 존재하는 메소드를 java에서 추상 메소드라고 한다.
- 반환형태, 이름, 인자 선언만 존재하는 함수를 뜻한다.
- 메소드(함수) 정의시에 abstract 키워드를 사용해서 만들 수 있다.
- 자식 클래스에서 추상 메소드를 상속한 후 몸체의 구현을 해 사용한다.
- 추상메소드(abstract)는 상반된 의미의 final(상속되서 재정의불가함수)과 동시에 사용할 수 없다.
abstract public class Circle {
abstract public double getArea();
//함수인데도 불구하고 중괄호가 없다.
//모양이 정해져 있지 않기 때문에 면적을 계산할 수 없다.
}
2. 추상 클래스
- 추상 메소드를 포함하는 클래스는 무조건 추상 클래스여야 한다.
- 추상메소드와 다르게 일반 변수 및 일반 메소드를 포함할 수 있다.
- 객체 생성을 할 수 없다.
- 구체적이지 못한 불완전한 클래스라는 뜻도 가지고 있는 추상 클래스이기 때문.
- 클래스 정의는 추상메소드와 마찬가지로 abstract 키워드를 사용해야 한다.
abstract public class Circle{
//일반 메소드 포함 가능
public int getArea(int radius){
return radius;
}
//추상 메소드
abstract public double getArea();
}
// 컴파일 오류
// 객체 생성을 할 수 없는 추상 클래스로
// 객체를 생성하여 컴파일오류
Circle c = new Circle('3');
3. 추상 클래스의 사용 시기
- 의미적으로 비슷한 클래스끼리 서로 묶고자 할 때 사용된다.
- 공통으로 사용할 데이터 필드(변수) 및 메소드(함수)를 정의할 때 사용한다는 의미.
- 추상 클래스는 완전하지 못한 클래스이다.
- 기능적으로 구현하기 어려운 메소드가 존재하기 때문.
- 그렇기 때문에 추상 클래스는 주로 자식 클래스에서 상속하여 이용한다.
- 자식 클래스에서 추상 메소드를 상속받아 구현한다.
- 추상 클래스를 상속한 자식 클래스는 객체 생성이 가능하다.
- 자식 클래스에서 추상메소드를 구현하지 않는다면 자식 클래스도 추상 클래스로 남아있게된다.
- 추상 클래스는 일반 클래스와 인터페이스의 중간적 성격을 띄운다.
내용이 유익하셨다면 구독 및 좋아요 클릭 부탁드려요 :)
오늘 하루도 즐거운 하루 보내세요!
'Server Language > Java' 카테고리의 다른 글
[Java 무작정 따라하기] 7. java 오버로딩, 오버라이딩 및 다형성과 형변환 학습하기 (0) | 2020.04.27 |
---|---|
[Java 무작정 따라하기] 6. 알기 쉽게 설명하는 Java 인터페이스 정리! (0) | 2020.04.27 |
[Java 무작정 따라하기]4. 알기쉽게 설명한 자바 클래스 완벽 정리! (0) | 2020.03.19 |
[Java 무작정 따라하기]3. Java variable , 자바 변수란? (0) | 2020.03.19 |
[Java 무작정 따라하기]2. JDK 설치 및 환경설정 (0) | 2020.03.18 |
댓글