Spring 3

[JAVA] CheckedException vs UnCheckedException

CheckedException 컴파일 시에 에러 처리를 필수로 해주어야 하는 것.예시로 IOException, SQLException 같은 것들이 있다. UnCheckedException컴파일 시에 에러 처리를 해주지 않아도 동작하는 것.런타임 시에 에러가 발생하면 프로세스가 멈춘다.예시로 NullPointerException, ArrayIndexOutOfBoundsException 같은 것들이 있다.   요약빌드 할 때 에러 처리를 무조건 해줘야 하는가 = Checked빌드 할 때 해주지 않아도 동작은 하는가 = Unchecked 참으로 직관적인 네이밍이다. :)

Spring/Java 2024.07.28

[Annotation] Qualifier는 왜 Qualifier일까

Spring에서 Qualifier는 Bean을 등록할 때,별명을 지정해서 등록한 후 주입받는 곳에서 별명에 해당하는 객체를 주입받기 위한 어노테이션이다. Qualifier는 구글 번역을 돌렸을 때 보면 예선이라는 뜻을 가지고 있다. 월드컵이나 올림픽같은 경기의 예선을 뜻하는데 왜 별명을 붙이는 문구로 사용했는지 궁금했다. 네이버 사전에 검색해보니 Qualifier는 예선 뿐 아니라 수식어구 이라는 뜻도 가지고 있다. 그래서 Bean을 수식하기 위해 Qualifier를 사용하는 것이었다! Qualifier를 사용할 때 보통 명사로 사용한다.하지만 뜻에 보면 (특히 형용사, 부사)라고 적혀있는데..그렇다면 Qualifier의 이름으로 형용사를 사용하는게 맞지는 않을까? 하지만 관례상 명사를 사용하는 편이니 ..

Spring/Spring 2024.05.12

[JAVA] 꽉찬 ArrayList에 add를 하면 어떤 일이 일어날까

배열은 크기를 가져야 한다.하지만 ArrayList는 배열의 크기와 상관없이 add를 계속 할 수 있게 만들어져 있다. 왜 그럴까? Swift에도 ArrayDoubling 이라는 기법이 있다.배열이 가득 찼을 때 추가된다면 배열의 길이만큼 길이가 추가된 배열이 새로 만들어진다.예를 들어 길이가 10인 가득찬 배열에 새로 추가된다면 길이를 20으로 만든다음에 기존 배열을 복사해서 넣는다. 자바에서도 비슷한 기법이 있을 것 같았다. ArrayList add ArrayList의 코드를 열어보면 add 메서드는 이렇게 생겼다.private void add(E e, Object[] elementData, int s) { if (s == elementData.length) elementData =..

Spring/Java 2024.04.27