반응형

인터페이스 4

추상화 클래스와 인터페이스의 공통점 / 차이점

추상화 클래스와 인터페이스의 공통점 / 차이점 1. 공통점 abstract class(추상 클래스)와 interface 는 선언만 있고 구현 내용은 없는 클래스이다. new를 해서 객체를 생성할 수 없다. 추상클래스를 extends 또는, interface를 implements 한 자식만이 객체를 생성할 수 있다. 상속받은 자식은 추상클래스나 인터페이스를 구현해야한다. (java에서는 type이 지정되있기 때문에 선언된 type과 자식의 type이 같아야만 한다.) 2. 차이점 추상클래스는 클래스이다. interface는 구현하기 전에 메소드에 대해 명세된 것이다. (그래서 상속을 받음에도 불구하고 클래스에선 상속이라고 쓰지만 interface는 implemets(구현) 이라고 쓴다.) 추상클래스는 ab..

JAVA 2020.09.11

인터페이스 (Interface)/ 추상화 클래스와 인터페이스의 공통점 / 차이점

인터페이스란 일종의 추상 클래스이다. 다만 추상 클래스보다 추상화의 정도가더 크다고 생각하면 된다. 특징 1.멤버는 추상 메소드와 상수만으로 구성된다. # 인터페이스는 메소드와 상수만을 가지며 필드는 가지지 않는다. # 메소드는 모두 추상메소드이다. 그러나 메소드 선언 시 abstract 키워드를 생략할 수 있다. 2. 모든 메소드는 public이며 생략이 가능하다. # 모든 메소드는 public 접근 지정자이다. 주로 생략하여 사용한다. 3. 상수도 public static final을 생략하여 선언할 수 있다. # 상수는 public static final 속성이며 생략 가능하다. 4. 인터페이스의 객체를 생성할 수 없다. # 인터페이스는 추상 메소드만 가지기 때문에 원칙적으로 객체를 생성할 수 없다..

JAVA 2020.09.10

인터페이스 익명 구현 객체/ 다중 인터페이스/인터페이스 사용

익명구현 객체 -명시적 구현 클래스 작성을 건너뛰어 바로 구현객체를 얻는 이름없는 구현 클래스와 객체생성을 동시에 하는것 인터페이스 변수 = new 인터페이스 { //인터페이스에 선언된 추상 메소드의 실페 메소드 선언 }; 인터페이스의 추상 메소드를 모두 재정의하는 실체 메소드가 있어야한다. 추가적으로 필드 및 메서드 선언이 가능하나 익명객체 안에서만 사용가능 인터페이스 변수로 접근이 불가능 구현실행문이 끝나면 세미클론을 붙여줘야한다. ex) A a = new A( ) { }; 다중 인터페이스 다중인터페이스는 하나의 객체가 둘 이상의 인터페이스 구현하는것을 말한다. 위의 그림을 설명하자면 public class 구현클래스명 implements 인터페이스 A, 인터페이스 B { //인터페이스 A에 선언된 ..

JAVA 2020.09.08

인터페이스 / 선언/ 구현

인터페이스는 코드와 객체가 통신하는 접점을 말한다. 개발코드는 객체를 사용할때 인터페이스의 메소드만 알고있으면 된다. 인터페이스는 객체를 교환하여 사용할 수 있는데 이러한 기능은 개발코드를 변경하지 않고도 리턴값 및 실행내용을 다양하게 만들 수 있다. 인터페이스 선언법 [public] interface 인터페이스명{'''} 인터페이스의 구성멤버로는 상수, 추상메소드, 디폴트메소드, 정적메소드가 있는데 는 자바 8이후로 가능해졌다고 한다. 추가적으로 인터페이스 선언에서 알아두어야 할 부분은 상수 필드만 선언가능(데이터를 저장하지 않는다.) 선언된 필드는 모두 public static final이다. (이는 생략시에도 컴파일과정에서 자동으로 추가된다.) 상수명은 대문자로 작성 (단어가 결합되면 낙타표기법 사..

JAVA 2020.09.07
반응형