영보의 SystemOut.log

[JAVA] 추상클래스/인터페이스 개념 ① 본문

Language/JAVA

[JAVA] 추상클래스/인터페이스 개념 ①

영보로그 2020. 7. 16. 17:38
반응형
클래스 종류 추상클래스 인터페이스
(추상 클래스를 확장)
정의  - 미완성된 클래스 
  => new를 사용해서 메모리 할당이 불가능  
  -  여러개의 클래스를 묶어서 인터페이스로 관리
  (서로 다른 클래스에게 관계를 맺어준다)
용도  - 항상 상속을 내려서 하위 클래스에서 구현한 다음에 사용
 - 제시만 한다 : 구현하는 내용이 프로그램마다 다를 수도 있다 
   
 ex)  
    1. 게시판을 만들어라 
    2. 게시판에는 글쓰기, 내용보기, 수정, 삭제, 찾기
 1) 기능이 여러개로 나눠지는 경우
   ex) 버튼 → 로그인, 취소, 퍼즐, 시작, 종료
 2) 여러개의 클래스를 한개의 클래스로 제어할 때
 = 내부클래스 => 맴버클래스
 = 내부클래스 => 익명의 클래스

 

  추상클래스 인터페이스
상속
메소드
단일상속 다중상속
구현이 안된 메소드
구현이 된 메소드
구현이 안된 메소드만 가고 있다
형식   추상클래스
  public abstract class A
  {
      public abstract void display();
      public void aaa()
      {
      }
  }
  인터페이스
  public interface B
  {
      void display();
   => public abstract void display();
      void aaa();
   => public abstract void aaa();
  }
맴버변수   public abstract class A
  {
       private int a;
  }
  public interface B
  {
      int a;  ==> error  
     =====

      인터페이스가 가지고 있는 변수
          => 상수형변수
      int a;
         ==> publiv final static int a;
          => 변수 값을 지정
      int a =10;
  }

단점 : 기능 설정 => 추가하면 모든 클래스가 error
→ 인터페이스, 추상클래스를 사용 ==> 상속
    반드시 구현이 안된 메소드는 구현해서 사용

 

 

반응형