profile
끄적끄적

[Item39] 명명 패턴보다 애너테이션을 사용하라

※ Effective Java 3/E

2024년 3월 7일
·
0개의 댓글
·

SOLID, 객체 지향 설계의 5가지 원칙

※ 2024.01 원티드 프리온보딩 백엔드 챌린지 강의를 기반으로 작성했습니다.

2024년 2월 24일
·
0개의 댓글
·

[Item37] ordinal 인덱싱 대신 EnumMap을 사용하라

Effective Java 3/E Item 37 ordinal 인덱싱 대신 EnumMap을 사용하라

2024년 2월 21일
·
0개의 댓글
·

[Item36] 비트 필드 대신 EnumSet을 사용하라

※ Effective Java 3/E열거한 값들이 집합으로 사용될 경우, 예전에는 각 상수에 서로 다른 2의 거듭제곱 값을 할당한 정수 열거 패턴을 사용해왔다.text.applyStyles(STYLE_BOLD | STYLE_ITALIC);위와 같은 식으로 비트별 OR

2024년 2월 16일
·
0개의 댓글
·
post-thumbnail

객체 지향 이해하기

소프트웨어 가치에서 시작하는 객체지향

2024년 1월 19일
·
0개의 댓글
·

[Item65] 리플렉션보다는 인터페이스를 사용하라

※ Effective Java 3/E 리플렉션 자바에는 리플렉션이라는 기능을 이용해 알 지 못하는 클래스를 생성하거나 메서드를 호출할 수 있다. 하지만 유용해보이는 리플렉션에 많은 단점이 존재한다. 리플렉션의 단점 컴파일 타임 타입 검사가 주는 이점을 하나도 누

2024년 1월 19일
·
0개의 댓글
·
post-thumbnail

JIT 컴파일러와 코드 캐시

Compilation자바 코드를 컴파일러(javac)를 사용하여 컴파일하면 바이트 코드(class 파일)로 컴파일된다.그리고 JVM이 해당 자바 바이트코드를 인터프리팅하며 애플리케이션이 실행된다.그러므로 자바 코드를 컴파일하여 바이트 코드로 만들면 JVM이 실행될 수

2024년 1월 11일
·
0개의 댓글
·

[Item61] 박싱된 기본 타입보다는 기본 타입을 사용하라

※ Effective Java 3/E박싱된 기본 타입은 객체로 저장되기 때문에 식별성을 갖는다.대부분의 박싱된 기본 타입은 캐시를 갖고 있다. (-127 ~ 128)기본 타입은 초기화를 하지 않아도 유효한 값으로 초기화가 되지만 박싱된 기본 타입은 그렇지 않다.박싱된

2024년 1월 3일
·
0개의 댓글
·
post-thumbnail

ArrayList 파헤치기

JDK 11 버전의 ArrayList입니다. ArrayList ArrayList 필드 DEFAULT_CAPACITY 상수이며 용량의 기본값이며 10으로 초기화된다. EMPTY_ELEMENTDATA 상수이며 빈 원소들의 배열이다. DEFAULTCAPACIT

2023년 12월 31일
·
0개의 댓글
·
post-thumbnail

Enhanced For 문에서 remove를 하면 안되는 이유

Enhanced For 문에서 ArrayList의 remove 메서드를 사용하게 되면 아래와 같은 예외를 마주칠 수 있다.exceptionEnhanced For 문에서 remove 메서드를 사용하면 왜 예외가 발생하는지 알아보자.Enhanced For 문을 사용하기 위

2023년 12월 27일
·
0개의 댓글
·

[Item60] 정확한 답이 필요하다면 float와 double은 피하라

※ Effective Java 3/Efloat와 double 타입은 과학과 공학 계산용으로 설계되었다. 이진 부동소수점 연산에 쓰이기 때문에 정확한 값을 계산할 수 없다.부동소수점부동소수점을 표현하는 방식도 정하는 방식에 따라 다를 수 있지만 일반적으로 사용하고 있는

2023년 12월 26일
·
0개의 댓글
·
post-thumbnail

[Item58] 전통적인 for 문보다는 for-each 문을 사용하라

※ Effective Java 3/E아래는 for 문으로 컬렉션을 순회하는 코드다.아래는 for 문으로 배열을 순회하는 코드다.위의 for 문들은 while 문을 사용하는 것보다는 안전하지만 가장 좋은 방법은 아니다.반복자와 인덱스가 사용되어 코드를 지저분하게 하며 추

2023년 12월 20일
·
0개의 댓글
·

OAuth 2.0 이해하기

OAuth 2.0 다른 서비스의 OAuth를 이용하는 개발자의 시선에서 글을 작성하였습니다. 기존의 문제점 before-oauth 우리가 A라는 애플리케이션을 만들었다고 가정하자. 우리 애플리케이션은 사용자의 구글 캘린더에 있는 정보들을 이용하는 서비스다. 그렇

2023년 12월 19일
·
0개의 댓글
·

[Item57] 지역변수의 범위를 최소화하라

※ Effective Java 3/E지역변수의 범위를 최소화하면 코드 가독성, 유지보수성이 높아지고 오류 가능성이 낮아진다.다음은 지역변수의 범위를 줄이는 3가지 방법이다.지역변수는 사용할 시점에 선언하는 것이 가장 좋다.만약 미리 선언하게 되면 코드가 어수선해져 가독

2023년 12월 13일
·
0개의 댓글
·
post-thumbnail

[Item2] 생성자에 매개변수가 많다면 빌더를 고려하라

※ Effective Java 3/E생성자에 매개변수가 많을 경우 사용할 수 있는 3가지 패턴이 있다.생성자에 매개변수가 많이 있을 경우에 점층적 생성자 패턴(Telescoping Constructor Pattern)을 사용하여 다음과 같이 구현할 수 있다.위와 같이

2023년 12월 9일
·
0개의 댓글
·
post-thumbnail

데이터 모델 3단계 (스키마란?)

스키마란 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것이다.데이터 모델은 다음과 같은 3단계로 이루어진다.외부 모델: 사용자가 보는 데이터베이스 구조개념 모델: DB 내의 전체 테이블 집합 (전체 DB 구조)내부 모델: 디스크 저장 구조의 세부 사항과 DB

2023년 12월 7일
·
0개의 댓글
·