컬렉션 프레임워크 (Collection Framework) - 6.7. Properties

CJI0524·2024년 7월 13일

Java/Collection Framework

목록 보기
25/26

1. Properties

Properties 클래스는 Hashtable을 상속하는 자바의 유틸리티 클래스 중 하나로 이 클래스는 주로 구성 설정을 저장하고 로드하는 데 사용된다.

주요 특징

  • Properties 클래스의 키와 값은 모두 String 타입으로 제한됩니다. 이는 구성 설정을 다루기 위해 설계된 클래스의 특성상 문자열이 일반적으로 사용되기 때문이다.

  • Properties 클래스는 파일로부터 속성을 읽어오거나 파일에 속성을 저장할 수 있는 메서드를 제공한다. 이를 통해 구성 파일을 쉽게 다룰 수 있다.

  • Properties 객체는 기본 프로퍼티 집합을 가질 수 있다. 기본 프로퍼티 집합은 주어진 키에 대해 주어진 프로퍼티가 없을 때 사용할 수 있는 대체 프로퍼티이다.

주요 사용 사례

  • 애플리케이션 설정: 애플리케이션의 환경 설정, 데이터베이스 연결 정보, 외부 서비스의 API 키 등을 저장하는 데 사용
  • 국제화: 다국어 지원을 위한 리소스 번들을 관리하는 데 사용
  • 기타 구성 데이터: 일반적인 키-값 형태의 구성 데이터를 저장하고 관리하는 데 사용

2. Properties 클래스에 정의된 메서드 목록

Properties 클래스는 Hashtable의 메서드를 모두 상속하지만 실제로 사용할 때는 Properties에 새로 정의된 고유한 메서드를 사용하는 경우가 많다. 따라서 해당 글에서는 Properties 고유의 메서드만 다룬다.

2.1. 생성자

메서드기능
Properties()Properties 객체를 생성
Properties(Properties defaults)지정된 Properties에 저장된 목록을 가진 Properties 객체를 생성

2.2. 속성 관리

메서드기능
String getProperty(String key)지정된 키(key)의 값(value)을 반환
String getProperty(String key, String defaultValue)지정된 키(key)의 값(value)을 반환
키를 못찾으면 defaultValue를 반환
Object setProperty(String key, String value)지정된 키와 값을 저장
이미 존재하는 키(key)면 새로운 값(value)으로 변경
Enumeration propertyNames()목록의 모든 키(key)가 담긴 Enumeration을 반환
Set stringPropertyNames()Properties에 저장되어 있는 모든 키(key)를 Set에 담아서 반환

2.3. 파일 입출력

메서드기능
void load(InputStream inStream)지정된 InputStream으로부터 목록을 읽어서 저장
void load(Reader reader)지정된 Reader로부터 목록을 읽어서 저장
void loadFromXML(InputStream in)지정된 InputStream으로부터 XML문서를 읽어서, XML문서에 저장된 목록을 읽어다 담는다. (load & store)
void store(OutputStream out, String comments)저장된 목록을 지정된 OutputStream에 출력(저장)
comments는 목록에 대한 주석으로 저장
void store(Writer writer, String comments)저장된 목록을 지정된 Writer에 출력(저장)
comments는 목록에 대한 주석으로 저장
void storeToXML(OutputStream os, String comment)저장된 목록을 지정된 출력스트림에 XML 문서로 출력(저장)
comments는 목록에 대한 설명(주석)으로 저장
void storeToXML(OutputStream os, String comment, String encoding)저장된 목록을 지정된 출력스트림에 해당 인코딩의 XML문서로 출력(저장)
comment는 목록에 대한 설명(주석)으로 저장

2.4. 디버깅 및 출력

메서드기능
void list(PrintStream out)지정된 PrintStream에 저장된 목록을 출력
void list(PrintWriter out)지정된 PrintWriter에 저장된 목록을 출력

2.5. 추가 핵심 기능

Object 메서드

메서드기능
boolean equals(Object o)동일한 Hashtable인지 비교
int hashCode()해시코드를 반환

컬렉션 상태 체크 / 변경

메서드기능
boolean isEmpty()Hashtable이 비어있는지 확인
int size()Hashtable에 저장된 key-value 쌍의 개수를 반환

3. 해당 게시글 작성에 참고한 글 목록

자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서

profile
개발돌이

0개의 댓글