개발/Java, Spring(5)
-
명쾌한 Custom Exception in Java
Custom Exception을 언제 사용해야 할지 알 수 있다 : Standard Exception이 마땅치 않은 상황에 대하여 Custom Exception 작성법을 알 수 있다 : 지켜야 할 것들 어떤 점을 주의해서 사용해야 하는지 알 수 있다 : 성능 최적화 이 글에서는 Exception에 대한 의미나 종류, 처리 방식등을 다루지 않습니다. 1. 🔎 Standard Exception과 Custom Exception 서비스를 만들다보면 예외를 발생시킬 일이 많습니다. null을 허용하지 않는 메서드에 null을 건넸을 때 NullPointerException 배열, 문자열, 벡터 등에서 범위 밖의 index에 접근할 때 IndexOutOfBoundsException 허용하지 않는 값이 인수로 건네졌..
2020.09.03 -
Spring🌱 vs SpringBoot🌼
Spring의 개념을 알 수 있다 : Spring이 왜 등장했는가? SpringBoot의 개념을 알 수 있다 : SpringBoot이 왜 등장했는가? Spring과 SpringBoot 차이를 알 수 있다 : 어떤 것을 해결하기 위해 등장했으며 Spring Boot의 특징은 무엇인가? Spring과 Spring Boot 중 어떤 것을 선택해야 할지 알 수 있다 : 현재 추세는 어떻게 되는가? 1. 🌱Spring 스프링 공식 문서에서는 Spring Framework를 아래와 같이 설명합니다. The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applica..
2020.06.08 -
깊이 있는 Singleton
Singleton의 개념을 알 수 있다 : 무엇이며 언제, 어떻게 사용하는가? Singleton의 단점을 알 수 있다 : 왜 안티패턴이라 불리는가? Spring에서 Singleton의 의미를 알 수 있다 : Spring bean, Single Object, Singleton의 관계 1. Singleton Pattern Singleton Pattern은 GoF가 소개한 디자인 패턴 중 하나이다. 어떤 클래스를 어플리케이션 내에서 하나의 인스턴스가 존재하도록 강제하는 패턴 이다. 이렇게 하나만 만들어지는 클래스의 오브젝트는 애플리케이션 내에서 전역적으로 접근이 가능 하다. Singleton Pattern 사용 시 주의해야 할 점은 상태를 가진 객체를 Singleton으로 만들면 안된다 는 것이다. 이에 관해..
2020.05.31 -
[Effective Java] 아이템11. equals를 재정의하려거든 hashcode도 재정의하라
본 포스팅은 이펙티브 자바 3판 을 바탕으로 작성되었습니다. 학습목표 1. hashcode를 재정의 해야 할 때와 이유를 알 수 있다. 2. 좋은 해시코드 작성법에 대해 알 수 있다. 3. 해시코드를 작성하는 여러 방법을 알 수 있다. 4. 해시코드 작성 시 주의할 점을 알 수 있다. 0️⃣ 두 객체가 같다? equals() 두 객체의 내용이 같은지, 논리적 동등성(equality)를 비교 hashCode() 두 객체가 같은 객체인지, 동일성(identity)를 비교 Reference 동치 : Heap에 있는 한 객체를 서로 다른 reference가 참조하는 경우 두 reference에 대해 hashCode() 메서드를 호출하면 같은 값을 반환합니다. 객체 동치 : Heap에 두 개의 객체가 들어있고 두..
2020.01.13 -
[Effective Java] 아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라
본 포스팅은 이펙티브 자바 3판 을 바탕으로 작성되었습니다. 학습목표 1. 올바른 객체 생성 방법을 알 수 있다. 2. 정적 팩터리 메서드의 장점을 알 수 있다. 3. 정적 팩터리 메서드의 단점을 알 수 있다. 인스턴스를 생성하는 방법에는 public 생성자를 이용하는 방법과 정적 팩터리 메서드를 이용하는 방법이 있습니다. public 생성자를 이용할 경우 new Ticket(); 을 통해 인스턴스를 얻을 수 있습니다. public class Ticket { public Ticket() {} } 정적 팩터리 메서드를 이용할 경우 Ticket.getInstance(); 을 이용하여 인스턴스를 얻을 수 있습니다. public class Ticket { public static Ticket getInstanc..
2020.01.10