본문 바로가기

Java12

java.io.Serializable Java에서 Serializable은 마커 인터페이스(Marker Interface)로, 해당 객체가 직렬화(Serialization)될 수 있음을 표시. 직렬화란 객체를 바이트 스트림 형태로 변환하여 파일로 저장하거나 네트워크를 통해 전송할 수 있도록 하는 과정이다. 반대로 바이트 스트림을 다시 객체로 복원하는 과정을 역직렬화(Deserialization)라고 한다.Serializable의 필요성객체를 파일로 저장해야 할 때네트워크를 통해 객체를 전송할 때웹 애플리케이션에서 HttpSession에 VO 객체를 저장할 때분산 환경에서 세션 클러스터링 시 데이터 유지가 필요할 때예제 코드DefaultVO 클래스가 Serializable을 구현한 뒤, 객체를 파일로 직렬화하고 다시 역직렬화하는 예제.impo.. 2025. 8. 26.
Java IllegalArgumentException IllegalArgumentException은 Java에서 매우 자주 발생하는 런타임 예외로, 메서드에 잘못된 인자가 전달되었을 때 발생한다. 여기서는 개념, 발생 원인, 예제 코드, 해결 방법까지 다뤄보겠다.1. IllegalArgumentException 이란?IllegalArgumentException은 메서드에 전달된 인자가 잘못되었을 때 발생하는 RuntimeException다. 체크 예외(Checked Exception)가 아니므로 throws 선언이 필요하지 않다.java.lang.Object ↳ java.lang.Throwable ↳ java.lang.Exception ↳ java.lang.RuntimeException ↳ java.lang.I.. 2025. 7. 31.
Java System.out과 Logger 차이점 Java 애플리케이션 개발 시 로그를 출력하는 방식으로 System.out.println()과 Logger(SLF4J, Logback, Log4j2 등)를 사용할 수 있다. 하지만 두 방식은 운영 환경에서의 로그 관리와 보안, 성능 측면에서 큰 차이가 있다. 여기서는 System.out과 Logger의 차이점과 운영 환경에서 Logger를 사용해야 하는 이유를 정리해야지1. 개념적인 차이System.out.println(): JVM 표준 출력 스트림으로 콘솔에 단순히 메시지를 출력한다. 디버깅용으로 사용되지만 운영 환경에서는 관리가 어렵다.Logger: Logback, SLF4J, Log4j2 등 로깅 프레임워크를 통해 로그를 남긴다. 다양한 출력 대상과 로그 레벨 관리가 가능하며, 운영 환경에서 필수적.. 2025. 7. 30.
XML 쿼리에서 비교연산자 에러 해결( <![CDATA[ > ]]> ) JAVA를 이용해서 일을 하는중에 컴파일을 하는데 알 수 없는 오류가 발생했다.(해결후에 스샷을 안뜬걸 생각해냄... 하하...)The content of elements must consist of well-formed character data or markup.대략 이런 오류 메세지였던거 같다SELECT A, B, C, D  FROM TESTWHERE A > 0     AND B 대략 이런 쿼리를 보면 그냥 쿼리만 딱 봤을땐 이상할게 없다이게 왜?? 머가 문제인가?? DB툴에서 돌려봐도 오류 없이 조회가 잘된다. 결국 이러저리 찾아보다 발견된 이 쿼리가 오류가 난 이유..해결결론은   이걸 사용하지 않아서 발생한 문제다.스프링 프로젝트에서는 xml에 쿼리문을 작성할 때, 등의 비교연산자나 부등호를.. 2024. 5. 22.
[오류]Null Pointer Exception 목차1. 개요2. 발생 원인3. 코드 예제4. Null 체크5. 예외 처리6. 주의 사항7. 결론   1. 개요  Null Pointer Exception은 프로그램이 실행 중에 객체 참조가 null일 때 발생하는 예외.  이는 객체를 생성하지 않은 상태에서 해당 객체의 메서드나 속성을 사용하려고 할 때 주로 발생.   2. 발생 원인  Null Pointer Exception이 발생하는 주요 원인 1) 객체가 null인 상태에서 객체의 메서드나 속성을 호출하는 경우2) null 값을 가진 배열의 요소에 접근하는 경우3) 메서드가 null을 반환하고 반환 값을 사용하는 경우   3. 코드 예제 1) 객체가 null인 상태에서 메서드 호출2) null 값을 가진 배열에 접근3) 메서드가 null을 반환하고.. 2024. 4. 29.
[JAVA] Array Index Out of Bounds Exception(배열 인덱스 오류) 코딩하다보면 간간히 발생하는 오류Array Index Out of Bounds Exception..... 은 배열을 사용하다 발생하는 오류이다.  1. 개요  배열 인덱스 오류(Array Index Out of Bounds Exception)는 자바 프로그램에서 자주 발생하는 런타임 오류 중 하나입니다. 이 오류는 배열의 유효하지 않은 인덱스에 접근하려고 할 때 발생 배열은 여러 개의 요소로 이루어진 데이터 구조로, 각 요소는 인덱스를 사용하여 접근할 수 있다.  하지만 배열은 고정된 길이를 가지고 있으며, 유효하지 않은 인덱스에 접근하면 배열 인덱스 오류가 발생한다.  2. 발생 원인  배열 인덱스 오류는 다음과 같은 상황에서 발생할 수 있다.1) 배열의 길이를 벗어난 인덱스에 접근하는 경우2) 반복문.. 2024. 4. 22.