Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

노승현

추상 클래스란? 본문

JAVA/개념공부

추상 클래스란?

nsh95 2023. 12. 6. 20:51

[ 추상 클래스 & 인터페이스 ]

추상클래스는 어떻게 등장하였는가?

기존에 이미 많은 자식 클래스들이 있었는데,
이들의 부모 클래스가 없어, 부모 클래스를 정의하기 위해 탄생

객체를 정의하는데에는 관심이 없다.
객체생성이 불가능하다.
ex)[추상] 포켓몬- [추상]전기,물 - 피카츄,꼬부기
ex)[추상] 챔피언-티모,아리,아무무, ...
ex)[추상] 모양-원,네모,세모,별, ...
ex)[추상] 동물- 강아지,고양이, ...
ex) 사람 - 학생,직원 (상위 클래스중에 추상이 아닌 것도 있다.)

클래스를 정의하는데에 관심이 있다.


추상클래스를 사용하는 이유
1) 객체화를 막기 위함
2) 추상 메서드를 사용하기 위함
메서드 오버라이딩 강제

3) 추상 클래스의 목적: 추상 클래스는 공통된 메서드나 필드들을 하위 클래스에서 중복하여 구현하지 않도록 하여 코드 재사용성과 유지보수성을 높임

 

인터페이스란?

 

추상메소드를 모아둔 파일

1) 클래스 x2) 모든 메서드가 public static 추상메서드3) implements 를 사용하여 불러온다.

 

 

인터페이스 예시

public interface TVimpl {
	void turnOn();
	void turnOff();
	void soundUp();
	void soundDown();
}

 

 

인터페이스 사용 예시

class LgTV implements TVimpl{

	@Override
	public void turnOn() {
		// TODO Auto-generated method stub
		System.out.println("티비 전원 on");
	}

	@Override
	public void turnOff() {
		// TODO Auto-generated method stub
		System.out.println("티비 전원 off");
	}

	@Override
	public void soundUp() {
		// TODO Auto-generated method stub
		System.out.println("티비 소리++");
	}

	@Override
	public void soundDown() {
		// TODO Auto-generated method stub
		System.out.println("티비 소리--");
	}
	
}

public class Test01 {
	public static void main(String[] args) {
		LgTV tv =new LgTV();
		tv.turnOn();
		tv.turnOff();
		tv.soundUp();
		tv.soundDown();
		
	}
}

'JAVA > 개념공부' 카테고리의 다른 글

예외처리란?  (0) 2023.12.09
컬렉션 프레임워크  (1) 2023.12.07
상속이란?  (0) 2023.12.01
Class 란? (2)  (0) 2023.12.01
함수의 모듈화  (0) 2023.11.28