전체 글

· 개발
getter를 지양하라는 의미는 객체의 책임을 더욱 명확하게 하기 위해서 지양하는 것이지 자료구조나 Test에서는 사용하는게 맞다고 생각합니다.getter를 사용했을 때 편리함을 몸으로 느껴보고 작성하게 되었습니다. 메서드를 호출했을 때 Field에 있는 Name과 MoveCounter의 결과가 어떻게 되었는지 Test해봅시다. 1. 리플렉션 활용하기 Class에 있는 Field를 꺼내오는 방식입니다.접근제어자가 public이면 상관없지만 setAccessible 메서드에 true를 주어야 private 필드에 접근이 가능합니다. 예외 메시지도 잘 가르쳐줘서 금방 해결할 수 있다고 생각합니다. java.lang.IllegalAccessException: class racingcar.domain.car.C..
· 개발
LottoRank라는 Enum을 정의해서 사용하고 있습니다. View쪽에서 메시지를 순서대로 활용하기 위해서 Enum을 정렬하는 방법들을 소개하고자 합니다. 위 메서드를 활용해서 우테코에서 작성한 실행 결과 예시를 출력하려고 합니다. 모든 로또를 관리하는 Class에서 로또 순위를 Key로, 해당 순위가 몇번 나왔는 Count값을 가지는 Value로 저장된 Map을 반환하는 메서드가 있습니다. View쪽에서 이 Map을 통해서 실행 결과 예시에 맞게 출력해줘야 되는데 keySet()으로 뽑을 때 어떻게 데이터 순서를 보장해줘야 할까요? Comparable을 활용할 수 있지 않을까? Enum 클래스의 values()를 뽑고 정렬하면 되지 않을까? Enum의 Comparable enum은 이미 상수의 선언..
· 개발
정의 매직 넘버(Magic number)는 코드에서 상수(static final)로 선언하지 않은 하드 코딩된(literal value) 일정한 값을 의미하는 숫자나 문자열 등을 의미합니다. 상수(constant)란 수식에서 변하지 않는 값을 뜻한다. 이것은 변하는 값 변수와 반대이다. 모든 인용 출처 과제를 하면서 하드 코딩된 값들은 전부 상수처리하기 시작하면서 좀 더 고민하는 시간을 가지기로 했다. 정답은 없다고 생각하지만 자기가 주장하는 생각은 있어야 한다고 생각한다. (회사에 들어가면 코딩컨벤션이 있지 않을까 싶다.) 나의 의견과 맞는거 같아서 도움을 받아 결론을 낼 수 있었다. 단지 상수로 선언하지 않았다고 해서 매직 넘버나 매직 리터럴이 되는 것은 아니다. 의미 있는 상수는 무엇일까? 원주율은..
· 개발
기존에 나는 Constant Interface를 사용해서 메시지들을 관리했었다. 코드 리뷰를 통해서 Enum Class를 추천해주셔서 Constant Interface랑 무엇이 다를까 찾아보니 문제점들이 있었다. Constant Interface의 문제점 1. Implements 할 경우 사용하지 않을 수도 있는 상수를 포함하여 모두 가져오기 때문에 계속 가지고 있어야 한다. 2. 컴파일할 때 사용되겠지만, 런타임에는 사용할 용도가 없다. (Marker Interface는 런타임에 사용할 목적이 있으므로 다름) 3. Binary Code Compatibility (이진 호환성)을 필요로 하는 프로그램일 경우, 새로운 라이브러리를 연결하더라도, 상수 인터페이스는 프로그램이 종료되기 전까지 이진 호환성을 보..
· 개발
원시 타입의 값을 객체로 포장하면 무엇이 좋을까? 위에는 원시 타입이 있고 밑에는 원시 타입의 변수를 객체로 포장했다. 객체 지향 프로그래밍이란? 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 참조 객체 중심의 프로그래밍인 만큼 자신의 상태를 객체 스스로 관리할 수 있어야 한다. 재고의 이름과 재고의 수량을 가지고 있는 Product Class가 있다고 하자 Product 클래스에서 재고의 이름과, 재고의 수량을 관리하고 있다. 여기서 만약 재고의 가격과, 재고의 종류, 재고의 무개등 정보가 추가 되었다고 가정해보자 멤버변수..
uhanuu
몸뚱아리부터 마음가짐까지