자바 Properties 클래스: 초보자를 위한 가이드
서론
안녕하세요, 미래의 자바 마법사 여러분! 오늘은 자바 Properties 클래스의 마법의 세계에 빠져보겠습니다. 코드를 한 줄도 작성한 적이 없다고 해도 걱정하지 마세요 - 이 흥미로운 여행의 친절한 가이드로서 저가 도와드리겠습니다. 이 튜토리얼을 끝내면 여러분은 Properties를 전문가처럼 다룰 수 있을 것입니다!
Properties 클래스는 자바에서 특별한 사전입니다. 프로그램의 설정을 저장하고 관리하는 데 사용됩니다. 중요한 정보를 적고 나중에 쉽게 찾을 수 있는 디지털 노트북으로 생각해보세요. 멋지지 않나요?
클래스 선언
기본 사항부터 시작해보겠습니다. 자바에서 Properties 클래스는 다음과 같이 선언됩니다:
public class Properties extends Hashtable<Object,Object>
이제 이것이 알파벳 스ープ처럼 보일 수 있지만, 저가 이를 분석해드리겠습니다:
-
public
은 이 클래스를 누구나 사용할 수 있다는 의미입니다 -
class
는 자바에게 새로운 객체 유형을 정의하고 있다는 의미입니다 -
Properties
는 우리 클래스의 이름입니다 -
extends Hashtable<Object,Object>
는 Properties가 Hashtable(자바에서 다른 종류의 사전)의 특별한 형태라는 의미입니다
필드
Properties 클래스에는 중요한 필드가 하나 있습니다:
protected Properties defaults;
이것을 백업 노트북으로 생각해보세요. 주 Properties 객체에서 찾을 수 없는 것이 있다면, 자바는 이 백업을 확인합니다.
클래스 생성자
이제 Properties 객체를 어떻게 생성하는지 살펴보겠습니다. 새 노트북을 사는 것과 비슷합니다 - 몇 가지 옵션이 있습니다:
-
빈 노트북을 가져옵니다:
Properties prop = new Properties();
-
사전에 적혀 있는 정보가 있는 노트북을 가져옵니다:
Properties prop = new Properties(Properties defaults);
클래스 메서드
이제 진정한 마법이 일어나는 곳입니다! Properties 클래스는 유용한 메서드의 도구箱을 제공합니다. 몇 가지를 살펴보겠습니다:
1. 프로퍼티 설정
prop.setProperty("name", "Alice");
이것은 노트북에 "name: Alice"를 쓰는 것과 같습니다.
2. 프로퍼티 가져오기
String name = prop.getProperty("name");
이것은 노트북에서 "name"의 값을 찾는 것과 같습니다.
3. 파일에서 프로퍼티 로드
FileInputStream fis = new FileInputStream("config.properties");
prop.load(fis);
이것은 별도의 잉여지에 있는 정보를 노트북으로 복사하는 것과 같습니다.
4. 파일에 프로퍼티 저장
FileOutputStream fos = new FileOutputStream("config.properties");
prop.store(fos, "My Properties");
이것은 노트북 내용을 컴퓨터에 저장하는 것과 같습니다.
상속된 메서드
Properties 클래스는 부모 클래스에서 메서드를 상속받습니다. 부모로부터 기술을 배우는 것과 같습니다! 몇 가지 예를 들어보겠습니다:
-
Hashtable
에서:clear()
,contains()
,isEmpty()
-
Dictionary
에서:elements()
,get()
,put()
-
Object
에서:equals()
,hashCode()
,toString()
프로퍼티 키 열거 예제
이제 모든 지식을 실제 예제로 실천해보겠습니다:
import java.util.*;
public class PropertiesDemo {
public static void main(String[] args) {
// 새 Properties 객체 생성
Properties capitals = new Properties();
// 일부 프로퍼티 설정
capitals.setProperty("USA", "Washington D.C.");
capitals.setProperty("UK", "London");
capitals.setProperty("France", "Paris");
// 프로퍼티 이름의 열거를 가져옵니다
Enumeration<?> e = capitals.propertyNames();
// 열거를 이용해 반복합니다
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = capitals.getProperty(key);
System.out.println(key + " = " + value);
}
}
}
이것을 분석해보겠습니다:
- 새 Properties 객체를
capitals
라는 이름으로 생성합니다. - 몇 가지 나라-수도 페어를 Properties에 추가합니다.
-
propertyNames()
를 사용하여 모든 키(이 경우는 나라들)를 가져옵니다. -
while
루프를 사용하여 각 키를 반복하고 나라와 수도를 인쇄합니다.
출력
이 프로그램을 실행하면 다음과 같은 결과를 볼 수 있습니다:
France = Paris
UK = London
USA = Washington D.C.
그리고 이렇게 하면 됩니다! 여러분은 방금 Properties 객체를 생성하고, 채우고, 반복하였습니다. 멋지지 않나요?
기억해요, 연습이 체력을 만들어요. 다른 테마의 Properties 객체를 만들어 보세요 - 아마도 여러분이 좋아하는 책과 저자, 스포츠 팀과 그들의 홈 시티 같은 것들. 더 많이 놀이면 더 편안해질 거예요.
자바 Properties는 작은 도구인 것처럼 보이지만, 현실 세계 응용에서 매우 유용합니다. 게임을 만들고 사용자 설정을 저장하고 싶다면, Properties는 완벽합니다!
코딩을 계속하고, 탐험을 계속하고, 가장 중요한 것은 즐기는 것을 계속하세요! 알 수 없이 여러분은 자바 장사꾼처럼 Properties를 주먹구리할 수 있을 거예요. 다음에 뵙겠습니다, 즐거운 코딩하세요!
Credits: Image by storyset