상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바에서 추상 클래스를 선언하고 사용하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>에서 추상 클래스는 객체 지향 프로그래밍의 중요한 개념 중 하나로, 공통적인 속성과 메서드를 정의하면서도 인스턴스를 생성할 수 없는 클래스를 말합니다. 추상 클래스는 다른 클래스들이 상속받아 구체적인 구현을 제공할 수 있도록 하는 역할을 합니다. 이번 포스트에서는 자바에서 추상 클래스를 선언하고 사용하는 방법에 대해 알아보겠습니다. 1. 추상 클래스 선언하기추상 클래스는 `abstract` 키워드를 사용하여 선언합니다. 추상 클래스는 일반 클래스와 마찬가지로 <a href='https://sangseek.com/sangseeks/필드/ko'>필드</a>와 메서드를 가질 수 있지만, 하나 이상의 추상 메서드를 포함해야 합니다. 추상 메서드는 구현이 없는 메서드로, <a href='https://sangseek.com/sangseeks/서브클래스/ko'>서브클래스</a>에서 반드시 구현해야 합니다.```javaabstract class Animal { // 필드 String name; // 생성자 public Animal(String name) { this.name = name; } // 추상 메서드 abstract <a href='https://sangseek.com/sangseeks/void/ko'>void</a> sound(); // 일반 메서드 void eat() { System.out.println(name + " is eating."); }}```위의 예제에서 `Animal` 클래스는 추상 클래스이며, `sound()` 메서드는 추상 메서드로 선언되어 있습니다. `eat()` 메서드는 일반 메서드로, 서브클래스에서 상속받아 사용할 수 있습니다. 2. 추상 클래스 상속받기추상 클래스를 상속받는 서브클래스는 반드시 모든 추상 메서드를 구현해야 합니다. 그렇지 않으면 서브클래스도 추상 클래스로 선언해야 합니다.```javaclass Dog extends Animal { public Dog(String name) { super(name); } // 추상 메서드 구현 @Override void sound() { System.out.println(name + " says: Woof!"); }}class Cat extends Animal { public Cat(String name) { super(name); } // 추상 메서드 구현 @Override void sound() { System.out.println(name + " says: Meow!"); }}```위의 예제에서 `Dog`와 `Cat` 클래스는 `Animal` 클래스를 상속받고, `sound()` 메서드를 구현하고 있습니다. 3. 추상 클래스 사용하기추상 클래스를 사용하여 객체를 생성할 수는 없지만, 서브클래스의 객체를 생성하여 사용할 수 있습니다.```javapublic class Main { public static void main(String[] args) { Animal dog = new Dog("Buddy"); Animal cat = new Cat("Whiskers"); dog.sound(); // 출력: Buddy says: Woof! dog.eat(); // 출력: Buddy is eating. cat.sound(); // 출력: Whiskers says: Meow! cat.eat(); // 출력: Whiskers is eating. }}```위의 코드에서 `Dog`와 `Cat` 클래스의 객체를 생성하고, 각각의 `sound()`와 `eat()` 메서드를 호출하고 있습니다. 결론자바에서 추상 클래스는 코드의 재사용성과 유연성을 높여주는 중요한 개념입니다. 추상 클래스를 통해 공통적인 기능을 정의하고, 서브클래스에서 구체적인 구현을 제공함으로써 객체 지향 프로그래밍의 원칙을 잘 따를 수 있습니다. 추상 클래스를 적절히 활용하면 코드의 유지보수성과 확장성을 크게 향상시킬 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기