java 2

자바 long으로 표현되는 값을 double에 저장해도 될까?

`long`으로 표현되는 값을 `double`에 담아도 될까요?처음 이 질문을 봤을 때, 직관적으로는 상관이 없을 듯해 보였습니다.`long`은 8byte의 정수형을 담는 타입이고,`double`은 같은 8byte 크기의 실수형을 담는 타입이며, 정수가 실수의 부분집합인 데다가 표현 범위도 `long`보다 `double`이 훨씬 크기 때문입니다.근데 그런 뻔한 설명이 답이라면, 이 질문이 존재하지도 않았겠구나, 분명 어떤 문제가 있겠구나 하는 생각이 들었고, 이 질문에 대해 확실한 답을 하기 위해 알아본 내용을 글로 정리해보고자 합니다. 🔍 목차 # 00. 자바의 정수형과 실수형 # 01. 자바에서 0.1은 0.1이 아니다 # 02. 부동소수점 # 03. 부동소수점과 정밀도 #..

Java 2026.02.08

더 좋은 설계를 위한 S.O.L.I.D 원칙 이해하기

우리는 좋은 소프트웨어 시스템을 개발하기 위해 좋은 설계를 하고자 합니다. 좋은 설계란 무엇일까요?다양한 사람들의 의견을 모아본 바는 다음과 같습니다."낮은 결합도와 높은 응집도를 지향하는 것""유지보수가 쉬운 시스템을 만드는 것""변화를 손쉽게 받아들일 수 있도록 하는 것" 서비스를 지속하고 가치를 창출하기 위해서는 하나의 애플리케이션 개발을 마치고 방치하는 것이 아니라, 지속적으로 유지하고 확장해나가야 합니다.이 과정에서 코드를 추가하거나 기존 코드를 수정해야하는 일이 종종 발생하곤 할겁니다.하지만 유지보수 및 확장 단계에서 다른 사람이 작성한 코드가 이해가 안되거나, 너무 많은 기존의 코드를 건드려야하게 되는 상황을 맞게 된다면 어떨까요?많은 사람들이 좋은 설계의 정의를 위와 같이 내린 이유를 이..

CS&Network 2025.03.11