Language/Java2025. 10. 20. 20:01객체지향의 사실과 오해를 읽고.

객체지향 설계를 다루는 '객체지향의 사실과 오해'라는 조영호님의 책을 읽고서 정리하고, 저의 생각에 대해서 작성해보았습니다.한 챕터씩 읽어가면서 생각을 바로 정리하기 위해 챕터별로 나누었고, 개인적인 의견이 다소 섞여 있기 때문에 글의 옳고 그름은 있을 수 있습니다. 피드백 주실만한 부분이 보이신다면 말씀주시면 감사하겠습니다. Chapter 1, 2책의 도입 부분에서부터 내가 알고 있던 객체지향에 대한 오해를 말해주고 있다.처음 배울 때 객체지향은 '현실세계의 사물을 모방해 소프트웨어로 구현하는 것'이라고 접했는데, 이러한 오해는 2장까지 읽고나서 대략적으로 이해를 할 수 있었다. 내가 이 책을 통해 이해한 내용은 아래와 같다. 객체지향의 목표는 실세계를 모방하는 것이 아닌 새로운 창조와 같다.'클래스'..

[Java] 부동소수점 오차를 피하자!
Language/Java2025. 3. 11. 20:41[Java] 부동소수점 오차를 피하자!

백준에서 시뮬레이션 문제를 풀다가 한참을 디버깅하면서 삽질했던 과정을 기록하고자 합니다.. 결론부터 말씀드리자면, double 자료형의 부동소수점 오차로 인한 문제였습니다.추가로 짝수/홀수 구분을 (2&1)로 해야하는데 (2^1)로 하고서는 "왜맞틀"했던 저를 발견할 수 있었습니다..(반성하고 자바의 정석 다시 펼칠게요) 🔗 문제https://www.acmicpc.net/problem/20057문제는 삼성 기출로 유명한 마법사 상어 시리즈입니다. 📝 풀이간단하게 풀이를 설명하자면 달팽이 회전 로직을 구현 후 각 방향에 따른 '위치 및 비율'을 인덱싱하여 구현했습니다.2차원 격자 문제를 많이 풀어봤다면 쉽게 떠올리고 풀 수 있을거라 생각합니다. 조심해야하는 부분은 오른쪽부터 시작하는 달팽이 회전이 아니..

[Java] String, StringBuilder, StringBuffer 비교
Language/Java2025. 3. 9. 23:39[Java] String, StringBuilder, StringBuffer 비교

이번 시간에는 자바에서 문자열을 다루는 클래스인 String과 StringBuilder, StringBuffer에 대해서 각각 정리하고 차이를 비교해보려 합니다. 1️⃣ StringString 객체의 주요 특징으로는 불변(immutable)이라는 점입니다.이 말은 final 키워드처럼 한번 생성되면 변경이 불가능하다는걸 말해요.public class Main { public static void main(String[] args) { String str1 = "Hello"; str1 = str1 + " Beemo"; // 기존 str1을 수정하는 것처럼 보이지만 새로운 객체가 생성됨 }}위 코드는 기존 String객체에 문자열을 추가하여 수정하는 코드입니다. ..

Language/Java2024. 11. 28. 02:02자바 표준 라이브러리 (지속 업데이트)

자바에는 기본적으로 제공되는 표준 라이브러리들이 있다.JDK 안에 포함되어 있음.알고리즘 및 코딩테스트를 공부하면서 라이브러리에 취약한 것 같아 스니펫 느낌으로 작성.표준 라이브러리 종류Java.lang객체, 클래스, 시스템, 쓰레드, 예외 처리 등과 같은 핵심 기능 포함.자동으로 Import 됨.Java.util컬렉션 프레임워크를 포함한 날짜와 시간 처리, 이벤트 모델, 난수 생성, 기본 유틸리티 클래스 등 다양한 유틸리티 클래스와 인터페이스를 제공.Java.io입력과 출력(I/O) 기능을 담당하며, 파일 읽기와 쓰기, 데이터 스트림 처리 등을 위한 클래스와 인터페이스를 포함Java.math고정밀도 연산을 지원하는 BigInteger, BigDecimal 등의 클래스를 포함Java.lang 패키지1. ..

image