본문 바로가기

728x90

Programming/Java

Final, Finally, Finalize 비교 Final, finally, finalize는 모두 자바에서 사용되는 키워드이지만, 각각 다른 역할을 합니다. Final Final은 변수, 메소드, 클래스에 사용할 수 있으며, 다음과 같은 의미를 가집니다. 변수 : 변수의 값을 변경할 수 없음을 의미합니다. 메소드 : 메소드의 오버라이딩을 금지함을 의미합니다. 클래스 : 클래스의 상속을 금지함을 의미합니다. Finally Finally는 try-catch 문에서 사용할 수 있으며, 예외 발생 여부와 상관없이 항상 실행되는 블록입니다. 보통, 리소스 해제나 데이터베이스 연결 종료와 같은 마무리 작업을 수행하는 데 사용됩니다. Finalize Finalize는 Object 클래스에 정의된 메소드로, 객체가 Garbage Collector에 의해 수거될 때.. 더보기
객체 상태의 영속화 객체의 상태를 영속화(Persistence) 한다는 것은, 객체의 데이터를 저장장치(예를 들면 하드 디스크)에 저장하여, 프로그램이 종료되어도 데이터를 유지할 수 있는 것을 의미합니다. 객체의 상태를 영속화하면, 다시 프로그램을 실행해도 이전에 저장했던 데이터를 불러올 수 있습니다. 이러한 기능은 대부분의 애플리케이션에서 필요로 하며, 데이터베이스나 파일시스템과 같은 저장장치를 사용하여 구현할 수 있습니다. 객체의 상태를 영속화하는 방법에는 다양한 방법이 있습니다. 예를 들어, 파일 시스템을 이용해 객체를 직렬화하여 파일에 저장하거나, 데이터베이스를 이용해 객체를 데이터베이스 테이블에 저장할 수 있습니다. 또는, 메모리 내의 객체를 직접 저장할 수 있는 캐시와 같은 메모리 기반 저장장치도 있습니다. 객체.. 더보기
객체 직렬화 (Object Serializable) 자바에서 객체 직렬화(Object Serialization)는 객체를 이진 데이터로 변환하는 과정을 의미합니다. 이진 데이터로 변환된 객체는 파일에 저장하거나 네트워크를 통해 전송할 수 있습니다. 이러한 객체 직렬화는 자바의 내장 기능으로 제공되며, Serializable 인터페이스를 구현하면 사용할 수 있습니다. 객체 직렬화는 다음과 같은 특징을 가집니다. 객체 직렬화는 객체를 이진 데이터로 변환합니다. 따라서, 파일이나 네트워크와 같은 매체에 저장하거나 전송할 수 있습니다. 객체 직렬화는 객체의 상태를 그대로 저장하므로, 객체를 다시 복원할 때 원래 상태를 그대로 가져올 수 있습니다. 객체 직렬화는 객체의 필드 중 transient로 선언된 필드나 static 필드는 직렬화하지 않습니다. 객체 직렬화.. 더보기
Java 배열에서 최소값, 최대값 찾기 Java에서 배열에서 최소값과 최대값을 찾는 방법은 여러 가지가 있습니다. 여기서는 두 가지 방법을 소개하겠습니다. 1. for 루프를 사용하여 최소값과 최대값 찾기 public class FindMinMaxExample { public static void main(String[] args) { int[] arr = {3, 5, 1, 7, 9, 2, 8, 4, 6}; int min = arr[0]; int max = arr[0]; for (int i = 1; i max) { max = arr[i]; } } System.out.println("Min value: " + min); .. 더보기
== 과 equals의 차이점 Java에서 ==와 equals()는 둘 다 비교 연산자이지만, 서로 다른 방식으로 두 개의 값이 같은지를 판단합니다. == 연산자는 두 개의 값이 메모리 상의 같은 위치에 있는지를 확인합니다. 즉, == 연산자는 비교하는 두 개의 값이 정확히 같은 객체인지를 확인합니다. 따라서, == 연산자는 객체의 값을 비교하지 않습니다. 반면에 equals() 메소드는 두 객체가 서로 같은 값을 가지는지를 비교합니다. equals() 메소드는 Object 클래스에서 정의된 메소드이므로, 모든 객체에서 사용할 수 있습니다. 일반적으로, equals() 메소드를 사용하여 두 객체가 가지고 있는 값을 비교하고, == 연산자는 두 객체가 정확히 같은 객체인지를 확인하기 위해 사용합니다. 예를 들어, 다음은 == 연산자와 .. 더보기
[Java] StringBuffer와 reverse 함수를 사용하여 문자열 거꾸로 출력하기 StringBuffer의 reverse() 함수를 이용하면 쉽게 문자열을 순서를 뒤집어 출력할 수 있다. 12345678910public class Main { public static void main(String[] args) { String str = "Hello, world!"; //Hello, world! System.out.println(str); StringBuffer strb = new StringBuffer(str); //!dlrow ,olleH System.out.println(strb.reverse().toString()); }}Colored by Color Scriptercs 더보기
[Java] 배열 역순으로 출력하기 Collections의 reverse함수를 사용하기 위하여 배열을 List로 변환하는 방법을 사용하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.util.Arrays; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) { String[] arr = {"1", "2", "3", "4", "5"}; // [1, 2, 3, 4, 5] System.out.println(Arrays.toString(arr)); // Arrays.asList는 배열을 리스트로 반환해 준다. List list = Ar.. 더보기

728x90