본문 바로가기

Interface

(3)
자바8이후 인터페이스의 변경점 2가지와 변경한 이유(default method, static method) Java Interface (JDK8~) 1. 자바 인터페이스 변경점 자바 8에서 대대적인 변화중 하나인 인터페이스에 변경점이 있습니다. 과거에는 인터페이스와 추상클래스의 차이점에 대한 질문이 면접에 가끔 등장했으나, 요새는 인터페이스의 변경점으로 인해 인터페이스에 대해 물어보는 질문이 더 자주 등장하는 것 같습니다. (자바8은 2014년에 나왔고, 현재 2020년에는 JDK14가 나왔는데 뒤늦게 뭔 자바8이야? 라고 하실 수 있지만, 결국 해당 변경점이 어떤 문제를 해결하기 위한 변경 혹은 기술인지 이해하고 사용하는게 중요하기 때문에 공부한 내용을 정리했습니다.) 각설하고... 자바 인터페이스의 변경점은 두 가지가 있습니다. Default Method Static Method 기존(자바7 이전)에는 추..
JAVA 인터페이스와 추상클래스 공통점, 차이점 정리 인터페이스(Interface) 와 추상클래스(Abstract class) - 공통점: 추상클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스다.(자바8부터 인터페이스에 default method 구현이 가능해졌지만 일반적으로 인터페이스는 구현이 없다.)따라서 인터페이스와 추상클래스를 가지고 새로운 인스턴스(객체)를 생성할 수 없다.추상클래스를 extends로 상속받아 구현한 자식클래스나 인터페이스를 implements 하고 구현한 자식클래스만이 객체를 생성할 수 있다.=> 결국 자식클래스가 무언가 반드시 구현하도록 위임해야할 때 사용해야 한다.- 차이점 추상클래스추상클래스는 추상메서드(abstract method)가 하나라도 존재하는 클래스를 말한다.추상클래스는 추상메서드(abstract meth..
C# 인터페이스 인터페이스 구현 없이 메서드 선언만 포함된 클래스 문법과 유사하다.추상메서드만 0개 이상 담고 있는 추상 클래스로 봐도 무방.1234567891011abstract class DrawingObject{ public abstract void Draw(); public abstract void Move(int offset);}interface IDrawingObject{ void Draw(); void Move();} Colored by Color Scripter 추상클래스를 쓰면되지 왜 인터페이스를 만들었을까?- 클래스는 다중 상속이 불가능 하기 때문.1234class Notebook : Computer, IMonitor, IKeyboard{ void IMonitor.TurnOn(){}; // 추상메서드와..