공부하는 다락방

열혈강의 Java프로그래밍 Round 14 본문

Java

열혈강의 Java프로그래밍 Round 14

권파인 2014. 12. 31. 11:33

# abstract : 추상화

# abstract 메서드
- 메서드의 내용부가 정의 되지 않은 형태로 모델 개념의 메서드
- 반드시 오버라이딩 되어야 사용 가능
    * 순수 디자인 목적은 아니지만 디자인을 어느 정도 가능하게 해줌.
   ex) public abstract void aaa(); => 다른 메서드와 다르게 세미콜론으로 끝내줌. 내용정의부가 없음.

# abstract 클래스
- abstract 메서드를 포함하고 있는 클래스로 다형성 표현으로 사용
- 객체를 발생시킬 수 없는 것을 제외하면 일반 클래스와 동일
    * abstract 클래스를 사용할 때는 항상 abstract 메서드를 사용해야함. 자바에서의 규칙임.

==============================================================================================

# interface
- abstract 클래스의 한 종류로 포함 멤버의 제약을 가짐 (순수 디자인 목적)
- 다중 상속이 가능한 유일한 클래스
    * 클래스와 인터페이스를 같이 상속할 시 클래스를 먼저 쓰고 인터페이스를 씀.
   ex) class K extends I implements E,G{}

# interface의 포함 멤버
- public static final 멤버 필드
- public abstract 멤버 메서드
- public static inner 클래스
    * 클래스로 접근 가능하면 static이고 static뜻은 공유, final 뜻은 값을 바꿀 수 없음. 
   * 인터페이스는 public static 멤버필드만 가질 수 있음.
   * 인터페이스는 객체발생이 불가능함.
   * 인터페이스는 내용정의부를 가질 수 없음. 블록 여는 것 자체가 불가능 세미콜론으로 끝내야함.
   * 유일하게 블록을 열 수 있는 것은 inner 클래스만 가능.
   * 상속을 받을 때 동일한 종족끼리의 상속시 예약어는 extends, 서로 다른 종족끼리의 상속시 예약어는 implements를 사용.
   ex) 클래스가 클래스를 상속 => extends 
        인터페이스가 인터페이스를 상속 => extends
        클래스가 인터페이스를 상속 => implements

 

Comments