자바

    [JAVA] 정적 팩토리 메소드

    들어가며 우테코를 시작하고 난 이후로 정적 팩토리 메소드 라는 말을 많이 들어왔다. 이펙티브 자바 책을 보면 첫 장이 정적 팩토리 메소드인 만큼 한번 쯤 알고 싶었고, 이번 체스 미션에서 사용해보았기에 정리해보려고 한다. 정적 팩토리 메소드 란 ? 우리는 흔히 인스턴스 객체 생성을 하는데 생성자를 사용한다. new ~~() 이런식으로 작성을 하는데 이를 생성자가 아닌 정적(static)메소드로 하는 것을 정적 팩토리 메소드라고 한다. 체스미션에서 사용한 정적 팩토리 메소드이다. 이를 통해 Command를 만들었다. public static Command of(String command) { return validateCommand(command); } 정적 팩토리 메소드를 왜 사용하는가 ? 장점 이름을 ..

    [JAVA] 캐싱

    들어가며 블랙잭 미션을 하면서 캐싱이라는 말을 처음 들어보았다. 내가 아는 Cache는 메모리 관련 내용 밖에 없었는데 자바에서 듣게 되니 궁금해서 알아보게 되었다. 캐시 캐시 란 데이터, 값을 미리 복사해 놓는 임시 장소를 의미한다. 이렇게 복사를 해놓는 이유는 미리 복사를 해 놓음으로써 값을 다시 계산하거나, 데이터에 접근하는 시간을 줄일 수 있다. 빠르게 데이터에 접근할 수 있는 것이다. 캐싱 캐싱이란 위에서 말한 ‘캐시’를 하는 것이다. 체스 미션에서의 캐싱 나의 체스 미션은 FILE & RANK 라는 행열로 이루어진 보드판 위에서 진행하는 게임이었다. 이는 enum타입으로 진행하였다. 처음에는 ‘a~h’ , ‘1~8’로만 enum을 만들어 놓고 사용자가 입력한 값에 대해서 그때 그때 찾는 방식으..

    [JAVA] 제네릭 Generic

    들어가며 우테코에서 Generic 관련 미니 미션을 수행하게 되었다. 수행을 하면서 느낀 것은 제네릭에 대해서 대충은 알고 있었지만 자세히 모른다고 생각하게 되었고 한번 정리해볼 필요가 있다고 느꼈다. 제네릭 제네릭이란 클래스를 정의 할 때 구체적인 타입을 적지 않고 변수로 적는 것이다. 제네릭은 모든 종류의 타입을 다룰 수 있도록, 클래스나 메소드를 타입 매개변수를 이용하여 선언하는 기법이다. 타입 매개변수란 타입을 변수로 표시하는 것을 의미한다. 즉 타입을 어떤 클래스의 매개변수로 보는 것이다. 내부 데이터 타입을 외부에서 지정하는 것. 제네릭이 없었다면 ? public class Test{ private Object data; public void set(Object data){ this.data ..