우아한테크코스 블랙잭 미션에서는 딜러와 플레이어에서 발생하는 중복 코드를 제거해야 한다는 요구사항이 존재한다. 중복 코드를 상위 클래스로 옮기고 딜러와 플레이어가 상속하여 중복을 제거할 수 있을 것이다. 딜러와 플레이어 모두 블랙잭 게임을 참여하는 참가자이기에 공통 로직을 참가자에서 처리하면 된다. 하지만 상속에는 많은 단점들이 존재하기에 이를 고려해서 사용해야 한다. 지금까지는 상속의 단점을 제대로 이해하지 못했었기에 이번 기회를 통해 정리해보고자 한다. 상속 객체지향에서 클래스를 재사용하기 위해, 다시 말해서 중복 코드를 줄이기 위해서는 새로운 클래스를 추가하는 상속이라는 기법이 존재한다. 재사용 관점에서 본다면 클래스 안의 인스턴스 변수와 메서드를 자동으로 클래스에 추가하는 기법을 의미한다. 중복 ..
시작하기 배경 Enum 활용해보자! 위 이미지는 IntelliJ 프로젝트에서 새로운 자바 클래스를 생성할 때 확인할 수 있는 창이다. 평소 자바 프로젝트를 진행하면서 Class나 Interface는 자주 생성해서 사용했지만 Enum은 유독 사용하지 않았다. Enum이 개념적으로 무엇인지는 알고 있지만, 확실하게 정리가 되지 않았기에 사용을 꺼렸던 것 같다. Enum 개념을 확실히 정리하고 장점을 살려 코드를 작성해보고자 한다. 불편함 상수란? 변하지 않거나 일정한 값을 가진 수나 양을 의미 자바에서는 모든 것이 클래스이므로 상수를 관리하기 위한 별도의 클래스를 정의할 수 있다. public final class MyConstant { public static final int ONE = 1; public..