반응형 혼자 공부하는 것들/독서4 이팩티브 자바 아이템1에서 열거타입 Enumeration 1) 상수 목록을 담을 수 있는 데이터 타입 2) 타입 세이프티를 보장할 수 있습니다. 3) 싱글톤 패턴을 구현할 때 사용하기도 합니다. 자문자답 간단하게 주문 상태를 가지고 있는 enum 클래스를 구성해보았습니다. public enum OrderStatus { PREPARING, SHIPPED, DELIVERING, DELIVERED; } 1. 특정 enum 타입이 가질 수 있는 모든 값을 순회하여 출력할 수 있는가? public static void main(String[] args) { System.out.println(Arrays.stream(OrderStatus.values()).collect(Collectors.toList())); } Enumeration의 values를.. 2022. 10. 9. 메서드 시그니처를 신중히 설계하자! 메서드를 생성할 때 쓰기 쉬우며, 오류 가능성이 적은 API를 만드는 방법을 배워보겠습니다. ⚠️ 메서드 이름을 신중히 짓자 이해할 수 있고, 같은 패키지에 속한 다른 이름들과 일관되게 짓는 게 최우선 목표입니다. 긴 이름을 피하는 게 좋습니다. 애매하면 자바 라이브러리의 API 가이드를 참고하면 좋을 것 같습니다. ⚠️ 편의 메서드를 너무 많이 만들지 말자. 모든 메서드는 각각 자신의 소임을 다해야합니다. 메서드가 너무 많은 클래스는 학습, 사용, 문서화, 유지보수, 테스트하기가 정말 어렵습니다. 인터페이스도 마찬가지입니다. 아주 자주 쓰일 경우에만 별도의 약칭 메서드를 두는 방법도 있습니다. 확신이 서지 않으면 만들지않는 게좋습니다. ⚠️ 매개변수 목록은 짧게 유지! 매개변수는 4개 이하가 가장 이상.. 2022. 4. 9. [함께자라기 애자일로 가는 길]을 읽고 ✅ 많은 신입 개발자에게 추천해주는 도서로 항상 함께 자라기가 있어 한번 읽어보고 싶었습니다. 출퇴근 시간에 지하철에서 낭비되는 시간이 싫어서 읽다 보니 재미있어서 금방 읽었습니다. 이 책에서는 크게 3가지 포인트로 나눠져서 이야기를 합니다. 자라기 말 그대로 학습에 관련된 이야기입니다. 첫 회사 인턴으로 입사했을 당시 이 부분이 상당히 어려웠던 기억이 있었습니다. 레거시 코드들을 현재 기술에 맞춰 성능개선 및 리팩터링 하는 것이었습니다. 저는 레거시 기술과 현재 회사가 사용하는 기술 둘 다 처음 접해보는 것이라, 퇴근하고 나서도 지속적으로 공부했던 기억이 있습니다. 마치 달리는 마차에 바퀴를 갈아 끼운다는 아주 유명한 문장이 있죠. 하나 배우는 것도 벅찬데 레거시 코드까지 뜯어고쳐야 한다니... 정말 힘들.. 2022. 2. 3. [객체지향의 사실과 오해]를 읽고 🐇 많은 개발자분들이 추천해주신 도서라 한 번쯤 읽어보고 싶었습니다. 완독 한지는 오래됐지만 기억에 오래 남아서 기억 남았던 부분을 정리해보려고 합니다. 이 책에서 중점적으로 설명한 것들은 바로 역할과 책임, 책임관계에서 바라본 객체지향입니다. 지금까지 객체지향이라 하면 공통적인 객체를 분리해서 재사용성을 높이고, 퍼즐 조각 맞추듯이 설계했습니다. 책을 읽고 나서 객체지향을 바라보는 시각이 조금 달라졌습니다. 대략 3가지 정도 기억에 남았었습니다. 객체지향 애플리케이션의 윤곽을 정하는 것은 역할, 책임, 협력입니다. 하지만 실제로 협력에 참여하는 주체는 객체입니다. 각각 사람마다 역할이라는 것이 있습니다. 예를 들어 스타벅스에 입장한 고객과 응대하는 캐셔, 바리스타의 역할은 다릅니다. 다른 역할 속에서 각각.. 2022. 2. 1. 이전 1 다음 반응형