java
-
<Java> 로컬 클래스와 지역 변수의 생명 주기JAVA 2025. 2. 25. 23:10
1. 클래스 선언부에서 실행 코드는 허용되지 않음클래스 선언부에서 변수 값 재할당할 수 없는 이유에 대해서는 선언부에 실행 코드를 작성할 수 없기 때문이라고 설명하였다. 2. 클래스 선언부에서 실행 코드는 허용되지 않음 참고로 JDK 8부터는 final이 생략된다. 로컬 클래스의 객체는 메소드 실행이 종료되면 없어지는 것이 일반적이지만, 메소드가 종료되어도 계속 실행 상태로 존재할 수 있다. 예로 들어 로컬 스레드 객체를 사용하는 것이다. 메소드를 실행하는 스레드와 다르므로 메소드가 종료된 후에도 로컬 스레드 객체는 실행 상태로 존재할 수 있다. 하지만, 로컬 클래스에서 지역변수 var를 참조하고 있다면 var가 사라진 후에도 접근해야 하는 문제가 생긴다. JAVA 이를 해결하지 위해 로컬 클래..
-
[Java] 싱글톤이란?JAVA 2025. 2. 12. 21:55
실글톤이란?가끔 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우,단 하나만 생성 된다고 해서 이 객체를 싱글톤이라고 한다. 싱클톤을 만들려면 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야한다.생성자를 호출한 만큼 객체가 생성되기 대문이다. 외부에서 생성자를호출할 수 없도록 하려면 생성자 앞에 private 접근 제한자를 붙여주면 된다. 그리고 자신의 타입인 정적 필드를 하나 선언하고 자신의 객체를 생성해 초기화 한다.참고로 클래스 내부에서는new 연산자로 생성자 호출이 가능하다. 정적 필드도 private 접근 제한자를 붙여 외부에서 필드값을 변경하지 못하도록 막아야 한다.대신 외부에서 호출할 수 있는 정적 메소드를 선언하고정적 필드에서 참조하고 있는 자신의 객체..