자바 추상 클래스 / 추상 메서드

조수경·2021년 9월 30일
0

JAVA

목록 보기
17/26

//추상 메서드: 내용이 없는 메서드🤣👌

//추상 클래스: 추상 메서드를 하나라도 가진 클래스

package g_oop2;

public abstract class SampleAbstractParent {//abstract추가해야 컴파일 에러 발생 안함

 void method(){//메서드 선언
	 System.out.println("내용");//메서드 구현
 }

 //추상 메서드: 선언부만 있고 구현부가 없는 메서드
abstract void abstractMethod(); 
//내용이 없어서 실행 불가 - 객체 생성이 안되고 부모 클래스로만 사용함
 //부모클래스는 클래스를 여러개 만들때 똑같은 내용과 메서드가 있을때 만듬
 
  }


 class SampleAbstractChild extends SampleAbstractParent{
 //추상메서드를 상속받았을때 에러가 발생하므로 추상클래스의 내용을 만들어 줘야 함

@Override //추상메서드를 오버라이딩하여 내용이 생김
void abstractMethod() {
	System.out.println("내용");
// 추상메서드를 만드는 이유: 자식클래스 간에 똑같은 내용이 있지만 조금씩 다를때 사용
  / 반드시 내용을 쓰게 함 아니면 컴파일 에러가 발생하게 됨
	
  }

}

소리 나는 추상 메서드 만들기

 package g_oop2;

 public abstract class Animal {

//소리를 내는 메서드를 추상 메서드로 만듬
abstract void sound();

}
// 상속받을 자식 클래스(추상메서드)
class Dog extends Animal {

@Override//자식 클래스에게 반드시 이것과 똑같이 만들으라 강제성을 부여하는 것
void sound() {
	System.out.println("멍멍!");
	
   }

}

class Cat extends Animal{

@Override
void sound() {
	System.out.println("냐옹");
	
   }

}

class Pig extends Animal{

@Override
void sound() {
	System.out.println("꿀꿀");
	
   }

}
profile
신입 개발자 입니다!!!

0개의 댓글