![[Java, 자바] 추상클래스와 추상메소드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxPJpZ%2FbtsH43uF2RB%2FJWuhOtrMMdoT67Q8d9yv90%2Fimg.png)
추상메소드(abstract method)추상메소드란 선언은 되어 있으나 코드가 구현되어 있지 않은 메소드이고, abstract키워드를 선언하는 선언부만 존재하고 구현부는 작성하지 않고 사용합니다. 작성되어 있지 않은 구현부는 자식클래스에서 오버라이딩하여 사용합니다 !abstract 반환타입 메소드명(); 추상메소드 예시public abstract String getSubject();public abstract void setSubject(String s);// 컴파일 오류public abstract fail() { return "bye";} 추상클래스(abstract class)추상메소드를 가지고 있으면 반드시 추상 클래스로 선언해야합니다. 추상클래스는 abstract 키워드로 선언합니다 ! 추상클..
![[Java, 자바] 추상 클래스(Abstract Class)와 인터페이스(Interface)는 언제 사용해야 될까?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpqjmQ%2FbtsH5fPaFNm%2F5DyagrHrm6toIlIGK9s2h0%2Fimg.png)
추상 클래스와 인터페이스의 특징추상 클래스(Abstract Class)추상 클래스(Abstract Class)는 인터페이스와 유사합니다. 인터페이스와 마찬가지로 인스턴스화 할 수 없으며, 구현을 포함하거나 포함하지 않은 메서드 모두를 가질 수 있다.하지만 인터페이스와 비교하여 추상클래스가 가질 수 있는 중요한 특징 중 하나는 필드를 가질 수 있따는 점이다. 그리고 해당 필드는 static 또는 final이 아닐 수 있으며, public이나 prorected 또는 private으로 선언할 수도 있습니다. 인터페이스를 사용하면 모든 필드가 public, static, final로 처리되면 모든 메서드는 public입니다. 또한 단일 클래스만 extends 할 수 있는 반면, 인터페이스는 여러개를 구현할 수 ..