Interface
-
[Java] abstract 와 interface의 차이카테고리 없음 2022. 5. 18. 17:24
추상 클래스 - abstract 클래스 내부에 추상 메소드가 하나 이상 포함되거나 abstract로 정의된 경우를 말한다. 추상 클래스와 일반 클래스는 상속 관계 추상 클래스가 부모, 일반 클래스가 자식 추상 클래스는 새로운 일반 클래스를 위한 부모 클래스의 용도로만 사용된다. ex) public class dog extends animal 인터페이스 - interface 인터페이스는 추상 메소드보다 한 단계 더 추상된 메소드이다. 사용하기 위해서는 일반 클래스에서 implements 라는 예약어로 특정 인터페이스를 구현하겠다고 명시한다. ex) public class userServiceImpl implements userService 명시한 인터페이스가 가지는 추상 메소드들은 구현받은 클래스에서 하나..
-
[Java] 인터페이스 default 메소드Java 2022. 5. 18. 09:49
자바8이 나오면서 인터페이스에 대한 정의가 변경되었다. 기존에 인터페이스는 추상 메소드만 가질 수 있었다. 자바 8 부터는 default, static method를 정의할 수 있도록 변경되었다. 인터페이스가 default로 선언이되면 메소드를 구현 할 수 있고, 이 메소드를 오버라이딩 할 수 있다. default 사용법 public interface Calculator { public int plue(int i, int j); public int multiple(int i, int j); // 자바 8 부터는 dafult 키워드를 이용하여 메소드 구현이 가능해졌다. 원래는 에러 발생 default int exec(int i, int j){ return i + j ; } } 인터페이스가 변경이 되면 그 ..
-
[Java] 추상클래스 abstractJava 2022. 5. 17. 17:33
추상클래스란 구체적이지 않은 클래스를 의미한다. 독수리, 타조, 비둘기는 구체적인 새를 지칭하는데 새, 포유류 같은 것은 구체적이지 않다. 이러한 것을 구현한 클래스를 추상 클래스라고 한다. 추상클래스 정의하기 - 추상 클래스는 리턴타입 앞에 abstract 로 정의한다. - 추상 클래스는 미완성의 추상 메소드를 포함할 수 있다. (추상 메소드란 내용이 없는 메소드, 즉 구현되지 않은 메소드이다) - 추상 클래스는 인스턴스를 생성할 수 없다. public abstract class Bird { public abstract void sing(); public void fly(){ System.out.println("날다."); } } 추상 클래스를 상속받는 클래스 생성하기 - 추상 클래스를 상속받은 클래스..