언어&프레임워크/Java
제너릭 이해하기(java)(feat.출력, 데이터타입)
밍풀
2022. 9. 2. 21:10
제너릭으로 클래스 정의하고 사용해보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
class jeong<T>{//제네릭 사용해보기, 클래스 안에 들어갈 메소드, 변수의 타입을 사용자가 지정할수있게함
//타입이 정해지지 않았으므로 class에서 바로 메소드 접근 불가
//인스턴스생성시 타입 그제야 정해줌, 인스턴스시 사용되어야 하므로 메소드, 변수에 static안붙여
//static은 인스턴스에 사용될 변수에는 제거해줘야 했어
//클래스에서 바로 접근하는 메소드, 변수에는 static 붙였고
T kk(T bbb) {//클래스, 인터페이스정의시 사용, 그 밑 메소드 변수에는 <>빼고씀
return bbb;
}
T uu;
}
public class practice{
public static void something(Object a, int b) {//정해지지않은 변수 a의 타입
System.out.println(a);
}
public static void main(String[] args) {
practice.something(1,2); //Object 변수에 숫자, 문자 암거나 넣기가능
practice.something("m",2);
jeong<String> ji = new jeong<String>();//문자열들어가는 인스턴스생성, 기존형식에 클래스명뒤<>
//타입파라메터 즉, <>안에들어가는거는 참조타입 reference type 만 가능
//원시타입 primitive(int, double, char, long, short, float, byte, boolean)불가
//string가능, int대신 integer, double대신 Double 쓰는식
ji.kk("fkfk");
jeong<Double> jiji = new jeong<Double>();//실수들어가는 인스턴스생성
jiji.kk(1.2);
System.out.println(1);
System.out.println(2);
System.out.println(3);//println은 출력시 줄바꿈
System.out.print(1+" ");//ln떼면 줄바꿈 없음
System.out.print(2+" ");
System.out.print(3);
}
}
|
cs |
+printf()는 지시자를 통해 변수의 값을 여러가지 형식으로 변환하여 출력하는 기능가짐,
지시자는 값을 어떻게 출력할 것인지 지정해주는 역할을 함.