고급JAVA 5강 - Properties, Args, Generic(제네릭)
Properties
Properties객체는 Map보다 축소된 기능의 객체라고 할 수 있다.
Map은 key값과 value값에 모든 형태의 객체를 사용할 수 있다.
Properties는 key값과 value값에 String만 사용할 수 있다.
Map은 put()메서드와 get()메서드를 이용해서 데이터를 입출력하지만
Properties는 setProperty()메서드와 getProperty()메서드를 사용해서 입출력 한다.
Properties는 데이터를 파일로 입출력할 수 있다. - 환경설정 할 때 많이 사용했음
Properties prop = new Properties();
//데이터 추가하기
prop.setProperty("name", "홍길동");//제네릭이 없음 key, value값 모두 String이라서
prop.setProperty("age", "20");
prop.setProperty("age2", String.valueOf(20)); //숫자를 문자화해서 입력해야 함.
prop.setProperty("tel", "010-1234-5678");
prop.setProperty("addr", "대전");
//데이터 읽어오기
String name = prop.getProperty("name");
int age = Integer.parseInt(prop.getProperty("age"));
String tel = prop.getProperty("tel");
String addr = prop.getProperty("addr");
System.out.println("이름 : " + name);
System.out.println("나이 : " + age);
System.out.println("전화 : " + tel);
System.out.println("주소 : " + addr);
Args
// 매개변수로 여러 개의 정수들을 받아서 이 정수들의 합계를 구하는 메서드 (이 정수들의 개수는 상황에 따라 다르다.)
public int sumArr(int[] data) {
int sum = 0;
for(int a : data) {
sum += a;
}
return sum;
}
가변형 인수 ==> 메서드의 인수값의 개수가 메서드를 호출할 때마다 다를 때 사용한다.
- 가변형 변수는 메서드 안에서는 배열로 처리된다.
- 가변형 변수는 한가지 자료형만 사용할 수 있다.
//가변형 인수를 이용한 메서드
public int sumArgs(int...data) {
int sum = 0;
for(int a : data) {
sum += a;
}
return sum;
}
//가변형 변수와 일반적인 매개변수를 혼합해서 사용할 수있다.
//단, 이 때는 가변형 변수를 제일 뒤쪽에 배치한다.
public String sumArg2(String name, int...data) {
int sum = 0;
for(int a : data) {
sum += a;
}
return name + "씨 총점 : " + sum;
}
Generic 제네릭
제네릭 클래스를 만드는 방법
형식)
class 클래스명<제네릭타입글자>{
제네릭타입글자 변수명; // 변수 선언에 제네릭을 사용한 경우
...
제네릭타입글자 메서드명(매개변수들...){ // 메서드의 반환값에 제네릭을 사용한 경우
...
return 값;
}
반환값타입 메서드명(제네릭타입글자 변수명){ //메서드의 매개변수에 제네릭을 사용한 경우
...
}
제네릭을 지정한 클래스
class MyGeneric<T>{//제네릭 타입글자(T), 제네릭은 여러개 사용 가능<T, V, E>
private T val; //변수에 제네릭 사용
public void setVal(T val) { //메서드의 매개변수에 제네릭 사용
this.val = val;
}
public T getVal() { //반환값에 제네릭 사용
return val;
}
}
제네릭을 지정하지 않은 보통 클래스
class NonGeneric{
private Object val;
public void setVal(Object val) {
this.val = val;
}
public Object getVal() {
return val;
}
}
Author And Source
이 문제에 관하여(고급JAVA 5강 - Properties, Args, Generic(제네릭)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gksmf6699/고급JAVA-5강-Properties-Args-Generic제네릭저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)