추상클래스와 인터페이스

가언·2024년 7월 4일
post-thumbnail

추상 메소드: 메소드 구현부가 없다!

  • 왜 쓸까? "공통적인 규약 "을 내리는 용도야!
    ⭐️ {} 이것도 됨!!!

추상 클래스: 추상 메소드가 0개 이상이 있는 클래스

  • 추상 메소드가 없어도 추상 클래스가 될 수 있을까? 🅾️
  • 언제 사용? 추상 클래스 인스턴스 안 만들면 좋겠다.. 이때 사용하는 것!
  • ⭐️ 객체화(인스턴스화)를 못하는 클래스이다.
    cf) 실행용 / 라이브러리용

What is API?

application programming interface

✅ 인터페이스

  • 모든 메소드가 추상 메소드인 일종의 추상 클래스를 우리는 인터페이스라고 부른다.

  • 인터페이스는 추상 클래스와 마찬가지로 스스로 객체를 생성해낼 수 없다.

  • 그럼 인터페이스와 추상 클래스의 차이는 무엇이고, 왜 둘 다 살아서 사람들이 사용하는 걸까?
    참고: https://inpa.tistory.com/entry/JAVA-☕-인터페이스-vs-추상클래스-차이점-완벽-이해하기#

  • 그렇다면 추상 클래스는 접점이 되어줄 수 없나요? 인터페이스는 공통 규약을 내릴 수 없나요? 모두 다 가능하지만, 인터페이스나 추상 클래스를 선택한 이유가 더 중요하다!-> "관점 차이 !" 목적에 따라 다르게 사용해야함.


추상메소드 : 공통부분 추출

인터페이스 : B만 보고 구현 가능


✅ 인터페이스의 또 다른 예시

User Interface

  • GUI: 윈도우, 핸드폰, OS, PPT, CLI 빼고 다!!!
  • CLI: 명령어로 명령하는...
    cf. cmd(os단에서 다 묶어주는 CLI), terminal, shell, powershell, git bash

✅ 객체 지향 세상에서 핸드폰 사기

[실행 결과]
잡스님이 애플폰을 구매했습니다.
잡스님이 애플폰을 켰습니다.
@@@ 폰 켜지는 중 @@@

재용님이 삼송폰을 구매했습니다.
재용님이 삼송폰을 켰습니다.
*** 폰 켜지는 중 ***

문제점: 의존성이 매우 높음, 밖에서 객체를 넣어줘야 함(의존성 주입)..!

문제점은 이후 블로그에서 해결할 예정..~!~! 조금만 기다려주세욥!

profile
@gari_guri

0개의 댓글