[JAVA] 16.추상클래스

안녕하세요 IT뽀로로입니다.

 

오늘은 추상 클래스 (Abstract class)에 대하여 알아보도록 하죠

 

#추상 클래스 (Abstract Class)란?

 

추상 클래스는 각각의 클래스에서 비슷한 필드와 메서드를 공통적으로 추출해 만들어진 클래스입니다.

 

구체적으로 작성된 클래스는 실체가 드러나는 클래스이지만

 

추상 클래스는 구체적으로 작성된 클래스들의 공통적인 부분만 추출해 추상적으로 코드를 작성할 수 있게

 

만들어진 클래스입니다. 그래서 구체적으로 작성된 클래스는 실제 객체를 생성할 정도의 구체성을 가지고 있어

 

객체를 생성할 수 있지만, 추상 클래스는 추상적으로 작성을 해야 하기 때문에 객체를 생성할 수 없는 클래스이죠.

 

정리하자면,

 

#추상 클래스 사용 이유?

 

필드와 메서드 이름을 통일하여 유지 보수성을 높이고 통일성을 유지하기 용이하고 클래스 구현 시 추상 클래스를 

 

상속받아 오버 라이딩하기 때문에 내 입 맛대로 빠르게 구현이 가능하다.

 

#문법

 

클래스 앞에 abstarct 키워드를 쓴다.

 

#추상 메서드

 

추상 메서드는 구체적인 구현부가 없음 그래서 {}가 없다. 

 

이 부분은 상속받은 클래스에서 반드시 구현해야 할 부분이다.

 

public abstract class Animal{
	public String kind;

	public void breath(){
		System.out.println("숨 쉰다");
	}

	//추상 메서드
	public abstract void sound();
}

위 코드는 추상 클래스를 선언한 것이고 이 클래스를 선언받은 클래스를 밑에 작성해보자.

public class Dog extends Animal{
	public Dog(){
		this.kind = "포유류";
	}

	@Override
	public void sound(){
		System.out.println("왈왈!!");
	}
}

 

추상 클래스 Animal에 있는 추상 메서드 sound()를 Dog 클래스에서 구현하였다.

 

Reference. https://limkydev.tistory.com/188

'IT Study > JAVA' 카테고리의 다른 글

[JAVA] 17.인터페이스  (0) 2019.09.15
[JAVA] 15.업캐스팅, 다운캐스팅, instanceof  (0) 2019.09.08
[JAVA] 14.final 키워드  (0) 2019.09.04
[JAVA] 13.static 멤버와 final 키워드  (0) 2019.09.04
[JAVA] 12.접근 지정자  (0) 2019.09.04