Free Lines Arrow
본문 바로가기
728x90

Language38

[Java] BigDecimal BigDecimal 왜사용하는지 알아본다 double 의 제한사항을 해결해준다. - https://vprog1215.tistory.com/288 사용시 주의점을 알아본다. BigDecimal 을 사용하는 이유 java 에서 숫자를 정밀하게 표현하기 위해 사용이 된다. 큰 소수점이나 큰 액수를 다룰때 선택이 아닌 필수로 사용해야 되는걸 기억하자. 내부 코드를 보면 계산을 하기 위해 직접 만든 수식들을 사용한다. 정수 * 10-scale 로 표현한다. BigDecimal 의 용어 unscaled value: 정수를 그대로 표현한다. scale: 지수 소수점의 자리수를 표현한다. precision: 정수의 자릿수를 표현한다. BigDecimal 생성하기 import java.math.*; 를 해줘야지 사용할수.. 2021. 12. 11.
[Java] Generic Type Erasure Generic Generic Type erasure 를 알기전 Generic 개념을 알아야한다. Geneirc 을 쓰면 많은 이점을 가지지만 주의해야 될 사항이 있다. 바로 Generic Type erasure 이다. 2022.06.11 - [Language/Java] - [Java] Generic 기초 [Java] Generic 기초 Generic 제네릭에 대해 깊이 공부좀 해보자. 제네릭의 개념 제네릭의 타입 제네릭에서 경계와 제한 방법 제네릭 사용시 주의점 Generic 등장 배경 Generic 의 등장 배경은 컬렉션으로 부터 시작이 된다 vprog1215.tistory.com Generic Type Erasure 지네릭을 쓰게 되면 컴파일 시점에는 타입을 체크하지만, 런타임 환경에서는 타입을 체크.. 2021. 10. 29.
[Java] HashMap, hashCode(), equals() HashMap HashMap 이 어떻게 동작하고 저장하는지 알아본다. HashMap 에서 어떻게 비교연산이 이루어 지는지 알아본다. equals 와 hashCode 함수에 대해 알아본다 HashMap? HashMap 이란 키와 값을 묶어서 하나의 데이터로 저장한다. 그리고 hashing 을 사용하기 때문에 데이터를 검색하는데 성능이 뛰어나다. hashing 이란 뭘까? Hashing 해싱이란 해시함수를 이용해서 데이터를 해시 테이블에 저장하고 검색하는 기법이다. 그림 1. 키값을 해시함수에 넣는다. 2. 해시함수 결과 값(해시코드)에 해당하는 링크드리스트를 찾는다. 3. 링크드 리스트에 검색한 키와 일치하는 데이터를 저장하거나 또는 데이터를 찾는다. hashCode? Map 을 사용할때 때때로 hashC.. 2021. 9. 6.
[Java] getter 와 setter getter 와 setter 개발을 하다보면 많이 들어 봤을 얘기다. 그리고 사용하는게 당연하다고 알고 있다. getter 와 setter 그럼 왜써야될까? 막상 설명 하려고 하면 까먹는 경우가 있다. 내가 그랬다. private 접근자 우리는 보통 멤버변수를 private 으로 해둔다 그이유는 무결성 때문이다. 그리고 한정적으로 노출 하여 유지보수 성을 높일수 있다 DDD 를 생각해보면 항상 최상위 루트에서 접근을 해야 되기 때문에 겟터와 셋터로만 접근 하게 하면 경계가 생겨서 유지보수에 좋다 그렇다면 무결성이 왜 필요한가? 다음과 같은 얘가 있다. 우리는 멤버변수 가격을 갖는 Item 클래스를 만들었다. 초보개발자 같은 경우는 setter 를 굳이 만들기 귀찮아서 그냥 public 으로 했다 얼마나 .. 2021. 9. 5.
728x90
반응형