목록java (63)
개발자는 기록이 답이다

이번 포스팅은 나에게 매우 의미있는 부분이다. 면접에서 Java내에서 어노테이션의 작동원리를 제대로 말 못했기 때문이다. Java가 아닌 Spring내에서 어노테이션이 어떻게 작동하는지를 말했다. 면접 3일전에 강의를 보고 어노테이션과 "리플렉션"과의 관계도 알고 있었고 1차 면접에서도 살짝 언급했었는데, 왜 2차 면접 당시 그 순간 생각이 나지 않았을까? 흝어진 조각들을 잘 정리해서 말할 수 있도록 해보자. Java의 어노테이션이란? 어노테이션(Annotation)은 자바 프로그래밍 언어에서 코드에 부가적인 정보(메타데이터)를 부여하기 위한 방법 중 하나이다. 코드에 주석을 다는 것과 달리, 프로그램이 빌드되거나 실행될 때 활용되는 메타데이터를 제공한다. Lombok으로 자주보던 "Getter"와 "R..

Checked Exception과 Unchecked Exception의 차이 1. Checked Exception(예외) Checked Exception은 컴파일러가 강제로 예외 처리를 요구하는 예외다. RuntimeException 클래스를 상속하지 않은 예외들이 Checked Exception에 해당한다. (사진 상 오른쪽) 주로 외부 리소스와의 상호 작용이나 I/O 작업과 관련된 예외 등이 여기에 속한다. Checked Exception이 발생할 수 있는 메서드에서는 반드시 예외 처리를 해야 한다. (try-catch 블록 또는 메서드 선언에 throws를 사용하여 예외 전파) 2. Unchecked Exception(= RuntimeException) Unchecked Exception은 컴파일러..

Exception과 Error의 차이점 Exception과 Error는 모두 자바에서 예외 처리 관련된 클래스들을 나타낸다. 그러나 두 개의 주요 차이점이 있다. 특성 Exception(예외) Error(에러) 발생 원인 주로 프로그램 외부 요인으로 발생 주로 가상머신 같은 시스템 레벨에서 발생 메인보드 고장, 디스크 고장 등 처리 여부 개발자가 명시적으로 처리 가능 주로 프로그램이 직접 처리하지 않음 예시 NullPointException, IOException OutOfMemoryError, StackOverflowError, NoClassDefFoundError 처리 방법 try-catch 블록을 사용하여 예외 처리 일반적으로 프로그램이 직접 처리하지 않음 예외 처리 가능 여부 일반적으로 예외 처리..
Java의 Enum을 언제 사용하는게 좋을까? Java의 enum은 자바 5부터 도입되었으며 열거형(Enumeration)의 약자이다. 서로 연관된 상수들의 집합을 나타낸다. 정의한 상수 값 의외에는 허용하지 않는 타입이다(type-safe) 싱글톤 패턴을 구현할때 사용하기도 한다 도메인 설계 시 사용하는 인스턴스 수가 정해져 있고, 관련된 걸 처리할 수 있는 상수값이 여러개가 존재할때 사용한다. 1. 상수 집합의 표현 서로 관련된 상수를 묶어서 나타내므로 코드를 읽고 이해하기 쉽게 만든다. public enum Days { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } 2. Type-safe한 열거형 컴파일 타임에 타입 안전성을 보장..