본문 바로가기

Java

(3)
enum 싱글턴 패턴을 공부하다가 이넘을 만났다. 귀여니체가 아니라 열거 타입 enum 말이다. 마주친 김에 간단히 알아보려고 한다. 우선, 열거 타입이라는 말이 좀 생소할 것이다. 데이터를 왜 열거해야 하지...? 라는 생각이 들 수도 있겠지만, 그 의미는 조금 이따가 알아보고 기본적인 사용법부터 익혀보자. 1. 기본적인 사용법 환승연애2 출연진의 이름을 저장하고 싶다. 가장 먼저 떠오르는 방법은 클래스에 상수로 저장하는 방법이다. 출연진 리스트를 상수로 초기화하면 List#set() 메소드 등에 의해 요소가 변경될 수 있으므로 출연진들을 한 명씩 상수로 저장해야 한다. 아마 이런 형태가 될 것이다. public class Cast { // 출연자 public static final String 이나연 = "이..
팩토리 메서드 패턴 오늘은 팩토리 메서드 패턴에 대해 알아봐요. 팩토리 메서드 패턴은 이름만 봐도 어떤 패턴인지 감이 옵니다. 팩토리가 뭐죠? 공장, 즉 무언가를 만드는 곳이에요. 그럼 아마도 팩토리 메서드는 무언가를 만드는 역할을 하는 메서드겠죠? 결론부터 말하자면, new 연산자를 없애기 위해 사용하는 패턴이라고 생각하면 됩니다! 근데 new 연산자가 무슨 잘못이 있어요..? 아직은 잘 모르겠죠? 오늘도 침착맨과 함께 팩토리 패턴에 대해 알아봐요! 2014년경 이병건은 웹툰 작가 이말년이자 다음팟 PD 침착맨으로 활동하고 있었다. 이말년은 작업실에서 태블릿으로 이말년 서유기를 그렸고, 침착맨은 스튜디오에서 하스스톤 게임 방송을 했다. 이 상황을 코드로 옮겨봐요! 이말년은 태블릿이, 침착맨은 방송용 카메라가 필요하고, 두..
전략 패턴 전략 패턴이란? 알고리즘을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 하는 패턴입니다. 뒤로가기 누르지 마세요!! 무슨 소린지 전혀 감이 안 오는게 당연해요! 천천히 알아봅시다. 우리가 침착맨 꾸미기 게임을 만든다고 생각해볼까요? 침펄 꾸미기 게임을 만든다. 옷을 입고(dress), 머리 스타일을 바꾸는(changeHairstyle) 기능을 구현하려고 한다. 위의 기능을 어떻게 구현할 수 있을까요? 침착맨과 주펄 클래스를 따로 만들 수도 있겠지만, 추후에 다른 사람들도 게임에 추가될 것을 고려하여 사람 클래스를 만든 후, 그 서브 클래스로 침착맨과 주펄 클래스를 만들어 보려고 해요. [Person.java] public abstract class Person { String name; ..