본문 바로가기

TIL(Today I Learned)/오늘 무엇을 배웠을까

TIL(Today I Learned) - 63

오늘의 TIL (Today I Learned):

  1. 추상화와 상속 구조:
    • 클래스 간 상속을 사용할 때, 공통 기능은 **부모 클래스(BaseClass)**에 추상 메서드로 정의하고, 각 하위 클래스에서 구현할 수 있도록 해야 한다. 예를 들어, BaseSkill 클래스에서는 스킬의 공통 로직을 정의하고, ActiveSkill, PassiveSkill, BuffSkill에서는 각각의 스킬에 맞는 구체적인 로직만 추가한다.
  2. 쿨다운 및 타격 기반 스킬:
    • 쿨다운 기반의 스킬과 타격 기반 스킬은 각기 다른 조건에서 활성화된다. 쿨다운은 스킬 사용 후 일정 시간이 지난 후에 다시 활성화되는 방식으로 처리하며, 타격 기반은 특정 횟수의 타격이 이루어졌을 때 스킬이 발동된다.
  3. 상속받은 클래스에서 로직 중복 방지:
    • 부모 클래스에서 이미 처리된 기능을 하위 클래스에서 다시 작성할 필요가 없다. 예를 들어, PassiveSkill에서 쿨다운과 타격 횟수를 처리하고 있으므로, 이를 상속받은 BurningSwordSkill에서는 그 부분을 다시 구현할 필요 없이 스킬 효과만 구현하면 된다.
  4. EnhanceSkill 메서드:
    • 강화 로직은 기본적으로 부모 클래스에서 추상화하고, 각 하위 클래스에서 필요한 강화 로직만 구현하는 방식으로 설계한다. 예를 들어, BurningSwordSkill에서는 스킬 효과에 대한 강화를 구현하고, 부모 클래스에서 제공하는 공통 기능을 그대로 사용할 수 있다.
  5. 불필요한 변수 및 로직 제거:
    • 코드 작성 시, 불필요한 변수나 로직을 중복해서 작성하지 않도록 한다. 예를 들어, cooldownTimer와 hitsSinceActivation 변수를 **PassiveSkill**에서 이미 처리하고 있다면, 하위 클래스에서 다시 선언할 필요가 없다.

오늘도 코딩하면서 상속 구조중복 코드 방지를 잘 적용해야 한다는 중요한 교훈을 얻었다.

'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글

TIL(Today I Learned) - 65  (0) 2024.12.20
TIL(Today I Learned) - 64  (0) 2024.12.19
TIL(Today I Learned) - 62  (2) 2024.12.17
TIL(Today I Learned) - 61  (0) 2024.12.16
TIL(Today I Learned) - 60  (1) 2024.12.13