본문 바로가기

java27

지역 변수의 범위를 줄여 쉬운 코드 작성하기 (feat. while 보다는 for) 이 글은 책 이펙티브 자바 3판 Item57을 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 주제 일반 프로그래밍 원칙 결론 지역 변수가 많거나 범위가 넓으면 오류 발생이 크다. 지역 변수의 유효 범위를 최소로 줄이면 가독성과 유지보수성이 높아지고 오류 가능성은 낮아진다. 지역 변수의 범위와 오류를 줄이는 방법 5가지를 알아보자 ✅ 1. 가장 처음 쓰일 때 선언하기 C언어 개발자들은 지역 변수를 코드 블록 첫머리에 선언하는 경우가 많았다. 하지만 코드가 길어지면 정작 사용할 때 이해가 어렵다. 자바에서는 어디서든 선언 가능하니 사용하기 직전에 선언하자 public class Car { public static void main(String[] args) { String name = "BMW.. 2022. 1. 18.
객체 생성할 때 '생성자' 대신 '정적 팩터리 메서드'를 써볼까? 🏭 *이 글은 책 '이펙티브 자바 3판 Item 1'과 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 주제 객체 생성 : 인스턴스 생성 방법은 두 가지가 있다 하나는 전통적인 public 생성자 방법과 또 다른 하나는 정적 팩터리 메서드(static factory method) 방법이다. 예제 // 두 가지 인스턴스 생성 방법 public class Book { private String title; private String author; // 1. public 생성자 public Book(String title) { this.title = title; } // 2. 정적 팩터리 메서드 public static Book createBookWithTitle(String .. 2022. 1. 15.
자바 객체의 메모리 크기는 얼마일까? (OOPs, Java Object Header, JOL 사용하기) 🤖 문득 이런 생각이 들었다. 내가 구현한 클래스의 메모리 총크기는 얼마일까? 흠......? * 이 글은 책 소프트웨어의 품격 2장과 하단 reference를 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 목차 0. 들어가며 1. 참조의 기본 크기 2. 객체 헤더 3. 패딩 4. 예제 계산해보기 5. JOL(Java Object Layout)를 인텔리 제이에서 편하게 (플러그인 소개) 0. 들어가며 자바의 자료형(type)은 크게 두 가지 PrimitiveType(기본타입)과 ReferenceType(레퍼런스 타입)이 있다. 보통 기본 타입의 크기는 고정되어 있어 메모리 크기 계산이 비교적 쉽지만, 레퍼런스 타입, 객체에 대한 메모리 크기 계산은 쉽지 않다. 그 이유는 객체의 정확한 크기를 .. 2022. 1. 14.
책 '소프트웨어의 품격(Seriously Good Software)' 소개와 요약정리, 스터디 📕 소프트웨어의 품격 - YES24 프로그래밍 언어의 기본을 익힌 독자를 대상으로 하는 책으로, 소프트웨어의 품질을 결정짓는 여러 가지 기준과 그 기준에 부합하는 소프트웨어를 개발하는 방법을 예제 바탕으로 설명한다. 더 www.yes24.com Seriouly Good Softwar(번역, 소프트웨어의 품격), 내 직역으론 '겁나 좋은 소프트웨어?'란 책을 우연히 서점에서 발견했고 마침 페이스북 추천글이 있었다. 소프트웨어의 품질에 대해 생각하지 못했거나 파편화 되어 있던 지식을 이번 기회에 정리하고자 한다. 주제 이 책은 한 가지 예제(수조 시스템)를 18가지 다른 방법으로 구현하며 각 방법론에 대해 토론한다. 성능과 코드의 명료성, 여러 측면에서 소프트웨어 품질을 최대화하는 방법을 배운다. 크게 주제로는.. 2022. 1. 8.
단위 테스트 구조 (AAA 패턴, 테스트 픽스터, 명명법) 이 글은 책 Unit Testing(단위 테스트) 3장과 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 단위 테스트 구조 테스트 픽스처 재사용 테스트 명명법 Parameterized Test (매개변수화 테스트) Assert Library (AssertJ) 1. 단위 테스트 구성 방법 단위 테스트 코드에 대한 구성 (준비, 실행, 검증) 패턴을 공부하고 피해야 할 함정, 읽기 쉬운 방법을 알아본다 1.1 AAA 패턴 사용 아래는 Calculator 클래스의 sum 함수를 테스트하는 코드 예이다. public class Calculator { public double sum(double first, double second) { return first + second;.. 2022. 1. 4.