본문 바로가기

언어/JAVA16

[JAVA] UTC, GMT 막연하게 "국제 표준 시간"으로 알고 있다가 막상 시간대를 고려해야 하는 상황에 와서 정리를 시작했습니다! UTC(Coordinated Universal Time)세계 표준 시간대로 영국을 기준으로 전 세계의 지역에 따라 시차(시간)을 규정한 표준 시로 GMT와 같은 시간대를 공유한다.GMT(Greenwich Mean Time)영국 그리니치 천문대를 기준으로 한 시간대로 UTC와 동일한 시간대를 나타대며, 표기방법도 동일하다. 결국 UTC, GMT는 측정 기준만 다른 동일한 시간대의 국제 표준시간이다. 그래서 각 나라 혹은 도시는 UTC, GMT를 기준으로 시간대가 결정된다. 우리나라의 경우 UTC에 9시간을 더한 시간대인 UTC+9을 표준시로 쓰며, 이 시간을 KST(한국 표준시)라고 합니다. 그렇다면.. 2024. 7. 7.
[JAVA] Comparable vs Comparator Comparable, Comparator는 정렬 인터페이스로 List의 정렬이나 클래스의 정렬조건을 설정할 때 등 정렬과 관련된 기능을 수행할때 사용할 수 있습니다. 둘은 정렬기준을 설정한다는 공통점이 있고 사용법에는 차이가 있는데 Comparable, Comparator의 차이점과 사용방법에 대해 작성해 볼까 합니다. 시작하기에 앞서 의문점이 하나 있었는데요 @FunctionalInterface 두 인터페이스 모두 함수형 인터페이스로 알고 있었는데 어째서 인지 Comparable에는 @FunctionalInterface 애노테이션이 보이지 않습니다. Comparable은 compareTo()추상메소드 오직 하나만을 가지고 있는데 말입니다. 그렇다면 @FunctionalInterface 애노테이션이 없으.. 2023. 7. 31.
[JAVA] emptyMap 사용 시 UnsupportedOperationException Collections.emptyMap()을 사용하면 정적 인스턴스의 Map을 리턴 받을 수 있는데 리턴 받은 Map의 데이터를 가공하려 하면 UnsupportedOperationException이 발생한다. 자바 문서를 보면 친절하게 내용이 나와있는데 Returns the empty map (immutable). This map is serializable. 변경이 불가능한 empty map을 리턴한다고 되어있다. 생각해보면 static Map을 리턴하는데 변경이 가능하다면 문제가 발생할 수밖에 없겠다고 생각된다. Null이 리턴되어 NullPointerException의 발생을 방지하고자 데이터 없는 Map을 리턴해야 할 때 혹은 로직 상 빈 Map이 리턴돼야 할 때 데이터의 가공이 필요 없을 경우 메.. 2023. 3. 22.
[JAVA] 상수의 여러 관리법 조건을 걸거나 반복문을 제어할 때 등 특정 문자, 숫자 등을 직접 입력(하드코딩)해서 사용하게 되는데 해당 값이 어떤 이유로 정해진건지 처음 접하는 사람은 알 수 없고, 여러 코드에서 사용할 경우 유지보수성도 떨어집니다. 만약 이를 의미있는 이름의 변수에 할당하고 변경하지 못하는 상수화 하여 사용하면 코드를 이해하는데 더욱 도움이 되고, 유지보수성이 증가될것입니다. 그리하여! 상수를 관리하는 여러 방법들을 찾아본 결과를 작성해보려 합니다. 상수란? 상수란 변하지 않는 수를 말합니다. 자바에서는 변하지 않는 고정된 값을 담는 변수를 의미하고 상수를 선언할 때 final 예약어를 붙여서 명시합니다. public class Constant { public final int CAR_GOING_MIN_NUMBER.. 2022. 12. 11.