본문 바로가기

JAVA

[이것이 자바다] 11 기본 API 클래스 (2) getProperty, Collection

* 본 포스팅은 제가 국비지원교육을 받으며 노션에 정리한 내용을 옮겨놓은 것입니다.
발전을 위한 피드백과 지적은 언제나 환영합니다. (GUI는 Java Swing으로 구현)

 

New - other - JFrame

Class명 : GetPropertyExam

 

 

"프레임을 만들어서 화면에 보이게 해라"

 

 

Runnable ( ) : 인터페이스

run( ) : Runnable의 추상메소드

(멀티스레드를 실행하기 위해서 필요함)

 

멀티스레드는 반드시 있어야되는건 아니지만 안정성 측면에서

메인스레드 하나보다 멀티스레드가 더 좋다

 

 

EmptyBorder 바꿔보기

 

여러가지 스타일 해보기 (별로 티는 안남)

 

 

북쪽에 JPanel 붙이고 버튼 삽입

 

ScrollPane 붙이고 TextArea 넣기

 

공간의 여백을 주기 위해 20, 20 넣으면

 

공간이 생김!

 

 

버튼만들기 메소드
버튼 누르면 나오는 view 메소드를 만들어보자
내용은 이렇게! getProperty → p.487

 

속성보기 버튼실행했을때 화면

 

 

사용자 이름, 홈도 추가 ( += 연산자 안 쓰면 기존 msg 내용이 계속 갱신돼서 그 뒤에 추가하는 연산자 써야한다)
실행결과

 

 

하나하나 출력하지 않고 for문으로 출력하는 방법 (p.487)

getProperties : Properties 타입이 와야되는 경우.

 

getProperties 는 Properties 타입이 와야하므로 변수가 String이면 오류가 난다.

 

 

Properties 타입으로 고친 뒤 ★Import★ 꼭 해주기

 

 

Set keys = props.keySet();

Set이 무엇?

💡
배열[] 특징

1) 동일한 유형의 배열만 가능 ex) int 형 배열에 문자열이 올 수 없다.
⇒ "자료형에 종속적이다."

2) 크기가 고정

💡
Collection (자료구조) _ 크게 4가지 종류

List
: 배열에 가장 가까운 형태, 입력된 순서 & 출력되는 순서 똑같고, 값이 중복될 수 있다.

Set : 순서 X, 중복 X (출력할때마다 순서가 다르다는 뜻)

Map (K, V) : Key값 & Value값 한쌍. Key는 중복 X 순서 X, Value값은 중복 O, 순서 X

Property
-
K = V (키값은 밸류값)
- 키와 밸류 모두 문자열로 이루어져 있다.
- getProperty의 매개변수도 String, 반환형도 String

 

(변수 이름 str에서 props로 바꿨음)

 

 

두 문장 출력결과 같음 (포맷만 다름)

 

실행결과 (property 출력)

 

public void view() {
		String msg = "";
		String osName = System.getProperty("os.name");
		msg += "운영체제 이름 : "+osName+"\n";
		msg += "사용자 이름 : "+System.getProperty("user.name")+"\n";
		msg += "사용자 홈 : "+System.getProperty("user.home")+"\n";
		msg += "----------------------\n";
		msg += "[key] value \n";
		msg += "----------------------\n";
		Properties props = System.getProperties(); // Properties import
		Set keys = props.keySet(); // Set 도 import 해주기
		for(Object objKey : keys) {
			String key = (String)objKey;
			String value = System.getProperty(key);
//			msg += "[" + key + "]" + value + "\n";
			msg += String.format("[%s] %s \n", key, value);
		}
		textarea.setText(msg);
	}

 

 

 

11.6.1 Class& 11.6.2 Reflection 실습 (p. 489 ~ 493)

 

class와 reflection이라고 하는 버튼 생성

 

각각 actionPerformed에 메소드를 생성한다

 

위치는 생성자 위에!

p. 490 ClassExample.java / getClass와 forName() 예제

 

 

Notion2Tistory

 

boltlessengineer.github.io

이것이 자바다 (신용권의 Java 프로그래밍 정복)

 

이것이 자바다

『이것이 자바다』은 15년 이상 자바 언어를 교육해온 자바 전문강사의 노하우를 아낌 없이 담아낸 자바 입문서이다. 자바 입문자를 배려한 친절한 설명과 배려로 1장에 풀인원 설치 방법을 제

book.naver.com