반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | class MyClass { MyClass() { } //전달받는 인수에 따라 생성자 오버로딩 시키기.. void func01(int num) { System.out.println(num); } void func02(String str) { System.out.println(str); } void func03(float f) { System.out.println(f); } } public class Practice01 { public static void main(String[] args) { MyClass myClass = new MyClass(); myClass.func01(10); myClass.func02("Hello"); myClass.func03(3.14f); } } | cs |
<제네릭을 사용한 코드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | class MyClass <T> { MyClass() { } void func01(T n) { System.out.println(n); } } public class Practice01 { public static void main(String[] args) { MyClass<Integer> myclass1 = new MyClass<>(); //Integer는 class.. myclass1.func01(10); MyClass<String> myclass2 = new MyClass<>(); myclass2.func01("메롱"); MyClass<MyClass> myclass3 = new MyClass<>(); myclass3.func01(new MyClass()); } } | cs |
객체를 생성해줄때 <>사이에 원하는 클래스타입을 넣어준다.
1 2 | MyClass<Integer> myclass1 = new MyClass<>(); //Integer는 class.. myclass1.func01(10); | cs |
myclass1타입은 Integer타입으로 main함수에서 func01함수를 부를때 인수를 Integer타입으로 넘겨준다. MyClass에서는 <T>타입으로 되어있지만 Integer타입으로 사용가능하다. Integet타입으로 넘겼는데 String으로 사용할 경우 당연한 에러가 나온다!
마찬가지로..
1 2 | Apple<String> a2 = new Apple<>(); a2.func01("메롱"); | cs |
1 2 | MyClass<MyClass> myclass3 = new MyClass<>(); myclass3.func01(new MyClass()); | cs |
☆ 잘못된 정보에 대한 피드백은 언제나 환영입니다!! ☆
반응형
'Programming Language > JAVA' 카테고리의 다른 글
[급여관리 프로그램(Has~A 만) (24) | 2018.07.16 |
---|---|
[Java]Enum (0) | 2018.07.12 |
클래스 구성요소 (0) | 2018.07.10 |
성적처리 프로그램(클래스 사용x) (0) | 2018.07.09 |
이클립스 단축키 모음 (0) | 2018.07.05 |