JAV)0402-1 추상클래스와 인터페이스 1 : 추상클래스

조한미르·2024년 4월 2일
0
  • 추상화 메서드
    • 구현되지 않은 정의만 된 메서드
    • 메서드의 기능을 통일하고 자식 클래스가 구현하도록 함.
  • 추상화 클래스

    • 추상화 메서드를 지닐 수 있는 클래스
    • 불완전 클래스이기 때문에 생성자를 통한 객체 선언은 불가.
    • 자식클래스에 상속함으로써 기능 구현 가능.
  • abstract

     - 추상화 메서드 구현 
     		-	ex)  public abstract void city();
     - 추상화 클래스 구현
     		- ex) public abstract class
           
           

    실습 1)

  • Receipt

        public abstract class Receipt {
    
           private String chef;
    
           public Receipt(String chef) {
               this.chef = chef;
           }
    
           public void info() {
               System.out.println("이 레시피는" + this.chef +" 의 것입니다.");
           }
       }
  • PastaReceipt
    public class PastaReceipt extends Receipt {

        public PastaReceipt(String chef) {
            super(chef);
        }

        public void makeSource() {
            System.out.println("파스타 소스는 직접 만듭니다.");
        }
    }

 
  • Restaurant

      public class Restaurant {
         public static void main(String[] args) {
    
             PastaReceipt ps = new PastaReceipt("최현석");
             ps.info();
    
             //추상화 클래스는 생성자를 통한 객체 선언이 안된다.
             //Receipt res = new Receipt("이연복"); -> 코드 오류 발생
         }
     }
     

결과)

 이 레시피는 최현석 의 것입니다.
 
 

실습 2)

  • Phone
  public abstract class Phone {

      //추상화 메서드
      public abstract void openingLogo();

      public void powerOn() {
          this.openingLogo(); //자식 클래스가 정의한 메서드 내용이 출력
          System.out.println("핸드폰이 켜집니다.");

      }

      public void powerOff() {
          System.out.println("핸드폰이 꺼집니다.");
      }
  }
  • SamSonPhone

    public class SamSonPhone extends phone { 
    
        @override
        public void openingLogo() {
            Sytem.out.println("@@@@@@@@삼송@@@@@@@@@");
        }
    }
  • PhoneTest

  public class PhoneTest {

      public static void main(String[] args) {
          SamSonPhone sam = new SamSonPhone();
          sam.powerOn();
          sam.powerOff();
      }
  }

결과)

  @@@@@@@@삼송@@@@@@@@@
  핸드폰이 켜집니다.
  핸드폰이 꺼집니다.
profile
꼭 해내는 사람

0개의 댓글