MalangBaram LAB

[JAVA]추상 클래스 & 인터페이스 본문

프로그래밍/JAVA

[JAVA]추상 클래스 & 인터페이스

프요 2015. 7. 25. 14:28


추상 클래스




추상 클래스

추상 클래스는 상위클래스에서 형태만 잡고 하위클래스에서 구현하도록 하는 클래스이다. 추상 클래스는 abstract를 사용하여 표현하며 (Ex. abstract class Hello {...} ) 추상 클래스는 추상 메소드를 가지고 있다.(일반 메소드와 추상 메소드 모두 포함 가능하다) 추상 클래스는 new를 통해서 객체를 생성할 수 없으며 추상 메소드는 자신이 직접 이용하지 못하고 반드시 하위 클래스에서 상속받아 구현해 사용해야 한다.


▽추상 클래스 예제

abstract class Hello { } 


추상 메소드

추상 메소드는 반드시 오버라이딩 되어야하기 때문에 하위클래스 들이 특정 메소드를 반드시 구현하게 만들기 위해 사용할 수 있다. 만약 추상 메소드를 오버라이딩 하지않으면 상속받은 클래스는 자동으로 추상 클래스가 된다. 추상 메소드는 추상 클래스와 마찬가지로 abastract를 사용하여 표현한다. 메소드의 구현 내용이 존재 하지않을경우 메소드 다음에 세미콜론( ; )를 붙혀준다.


▼추상 메소드 예제

abstract class Hello {
  public abstract int example();
}



인터페이스



△ RedoxiationEventHandler에서 구현된 IWorldGenerator 인터페이스


자바는 다중 상속이 불가능하다. 하지만 대신 인터페이스를 통해 다중 상속과 유사한 기능을 수행할 수 있다. 인터페이스는 모든 메소드가 추상 메소드이고 모든 데이터가 final static(상수형) 변수만을 가지는 특별한 형태의 클래스다. 인터페이스를 적용한 클래스는 인터페이스 내에서 선언된 모든 메소드를 구현해줘야한다. 클래스에서 인터페이스를 구현하기 위해서는 implements를 사용해서 구현한다.


▽인터페이스 예제

 public interface ExampleInterface {
  public ExampleMetod();
}


▼클래스에 인터페이스 구현

class Welcome implements ExampleInterface { ... }

▼클래스에 인터페이스 다중 구현

class Welcome implements ExampleInterface, ExampleInterface2 { ... }



▽인터페이스는 다른 인터페이스를 상속받을 수 있다.

public interface ExampleInterface3 extends ExampleInterface



오류,오타 지적 환영


0 Comments
댓글쓰기 폼