TEN BILLION

  • 홈
  • 태그
  • 방명록

추상클래스 1

추상 클래스(Abstract Class)와 인터페이스(Interface)

왜 생겨났을까? "역할"과 "구현"의 분리코딩을 하다 보면 비슷한 기능을 가진 여러 클래스를 만들어야 할 때가 많습니다. 예를 들어, 게임에 등장하는 몬스터를 만든다고 가정해 봅시다. 고블린, 오크, 드래곤은 모두 '공격'이라는 기능을 가지고 있죠.초보 개발자라면 아마 각 클래스에 attack()이라는 메서드를 개별적으로 만들 겁니다. 하지만 이렇게 하면 문제가 생깁니다.고블린의 공격 방식은 단검 던지기, 오크는 몽둥이 휘두르기, 드래곤은 불 뿜기 등 각각의 구현 내용이 다릅니다.만약 게임의 새로운 규칙을 추가해서 '모든 몬스터는 독에 걸릴 수 있다'는 기능을 넣으려면, 모든 몬스터 클래스에 poison() 메서드를 추가해야 합니다. 몬스터 종류가 많아질수록 수정해야 할 곳이 기하급수적으로 늘어나겠죠.이..

Back_End/Java 2024.12.11
이전
1
다음
더보기
프로필사진

TEN BILLION

매일매일 성장하는 개발 일기 !

반응형
  • 분류 전체보기 (230) N
    • Back_End (70) N
      • Java (39)
      • Spring (10)
      • Design Pattern (4)
      • JPA (17) N
    • Front-End (11)
    • DataBase (11)
    • Oracle (13)
    • MySQL (1)
    • CS (17)
    • Network (9)
    • Web (14)
    • Algorithm (66)
    • 프로젝트 (7)
      • 마이그레이션 (7)
    • Docker (6)
    • AWS (2)

Copyright © Kakao Corp. All rights reserved.

티스토리툴바