본문 바로가기

자바 인터페이스4

Java 8 인터페이스 vs 추상클래스 인터페이스 vs 추상 클래스 예전에 이 캐캐묵은 논쟁에 대한 글을 쓴적이 있었는데 , 그 중 일부를 발췌해보면 " 먼저 왜 자바는 인터페이스를 만들게 됬나를 생각해야 하며 , 다중상속은 이 둘을 구분하는데 중요한 맥이 아닙니다. 중요한것은 인터페이스가 추구하는 바를 추상클래스로 이루려면 지켜야 할 제약이 생기고 위험/복잡성 또한 생기기 마련입니다. 또한 약속된 관례가 없기 때문에 커뮤니케이에 문제가 생기며 의도가 불분명해 집니다. 그래서 행위의 틀 과 immutable 한 속성만으로 제한해서 유연성과 사용성을 극대화한것이 자바의 "interface" 입니다. ... 후략 "뭐 이런건데 이런 저의 글과 여러 무수한 논쟁들이 자바8의 등장과 더불어 소각장으로 직행해야 할 가비지가 되었습니다.자바의 인터페이스.. 2016. 11. 8.
[Java] Interface 자바 인터페이스 실습 # 인터페이스 실습 우선 인터페이스를 생성해서 Abstract Method(추상 메소드)를 정의한다 추상 메소드드는 정의만 되고 구조는 정의되지 않은 것이다 그리고 Class를 생성해서 인터페이스를 추가해준다 작성하면 에러가 나는데 인터페이스 요소들을 정의해주면 된다 Add unimplemented methods를 클릭하면 자동을 생성된다 작성하면 아래와 같이 자동으로 @Override가 생성된다 인터페이스에 정의된 메소드의 리턴 타입은 항상 같아야 한다 클래스에 메소드를 정의하고 메인메소드에서 테스트를 해본다 우선 메인 클래스에서 기존의 방법처럼 객체를 생성해서 진행을 해본다 결과가 잘 나오는 것을 볼 수 있다 2번째로 IS A 관계를 이용해서 사용하기 위해서 LGCDPlayer.java를 확인한다 L.. 2016. 6. 1.
[Java] 자바 상속 extends 상속 (extends) 상속의 기본 조건 IS A Sub Class is a Super Class 노트북 IS A 컴퓨터 (O) Super Class is a Sub Class 컴퓨터 IS A 노트북 (X) HAS A Sub Class has a Super Class 경찰관 HAS A 권총 (O) Super Class has a Sub Class 권총 HAS A 경찰관 (X) ArticleVO extends MemberVO 라면 ArticleVO가 Sub class MemberVO가 Super Class이다 상속을 받는 클래스가 서브 상속을 해주는 클래스가 슈퍼 클래스 위와 같이 ArticleVO IS A MemberVO라는 것은 관계가 성립하지 않는다 그렇기 때문에 VO에서 상속은 이용하지 않는다 # .. 2016. 5. 31.
[Java] 자바 인터페이스 Interface Interface Abstract 보다 더 높은 추상화 수준을 제공 클래스 자체의 규약을 정의함 객체지향의 5개 특징 중 다형성에 해당 다형성 : 같은 기능을 제공하는 표준 규약 인터페이스는 하나의 표준이다 ex) CD Player 기본 기능은 Play, Stop, Prev, Next 자체의 동작 알고리즘은 모르지만 어떠한 동작을 하는지를 알고 있다 -> 인터페이스 # Interface 선언 public interface CDPlayer와 같이 선언 인터페이스의 요소는 public abstract void play();라고 선언되고 abstract는 생략이 가능하다 # Interface 사용 public class MyMy implements CDPlayer를 선언해서 인터페이스를 사용 가능하다 인터페이.. 2016. 5. 31.