카테고리 없음
12.6
suuuuu
2018. 12. 6. 19:55
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 50 | package Pack01; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.concurrent.SynchronousQueue; import java.util.Collection; import java.util.Collections; import java.util.Iterator; abstract class Apple { abstract void func1();//함수 프로토타입 //함수 프로토타입 //abstract 추상이라는 뜻 //모든 클래스는 추상함수가 존재하면 반드시 그 앞에 abstract을 붙혀준다. //내부적으로 추상함수를 가지고 있다는 뜻. //abstract은 미완성이라는 뜻!** //미전제로하여 상속받을 수 있다 void func2() { //추상클래스는 무조건 객체를 생성 시킬 수 없다.!! //무조건 상속 받아서 사용해야 함 System.out.println("함수2번 콜"); } } class Ornage extends Apple{ void func1() { System.out.println("함수1번 콜"); } void func3() { System.out.println("함수3번 콜"); } } class Kiwi extends Apple{ void func1() { System.out.println("함수1번 콜"); } void func4() { System.out.println("함수4번 콜"); } } public class Hello { public static void main(String[] args) { Ornage o1=new Ornage(); o1.func1(); o1.func2(); o1.func3(); System.out.println(); Kiwi k1 =new Kiwi(); k1.func1(); k1.func2(); k1.func4(); } } | cs |
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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | package Pack01; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.concurrent.SynchronousQueue; import java.util.Collection; import java.util.Collections; import java.util.Iterator; abstract class Apple{ abstract void func1(); void func2() { System.out.println("2번"); } } class Orange extends Apple{ void func1() { System.out.println("1번"); } void func3() { System.out.println("3번"); } } public class Hello { public static void main(String[] args) { //1번 //상속받을 추상클래스를 직접 만들어서 //자기꺼 있는지 확인하고 없으면 부모꺼 씀 Orange o1 = new Orange(); o1.func1(); o1.func2(); o1.func3(); //2번 //다형성 //업캐스팅 가능 //다형성이 가능 //객체이름 a1 //왼쪽이 부모 오른쪽이 자식! //자식것을 먼저 있는지 보고 없으면 자기꺼 씀 System.out.println(); Apple a1= new Orange(); a1.func1(); a1.func2(); System.out.println(); //Apple a2=new Apple();//당연히 오류뜸 Apple a2 = new Apple() { //여기서 함수 1번을 구현 void func1() { System.out.println("1번"); //익명 클래스를 만드는 기법 } void func3() { System.out.println("3번"); } }; //3번 a2.func1(); //a2.func3();//내부적(필드)로 사용할수 있지만 밖에선 사용 불가능! //a2는 익명의 자식일 뿐이라 외부에서 사용이 불가능 //new Apple();//Apple타입으론 new가 안됨으로 오류 //4번//익명객체 new Apple() { void func1(){ a2.func2(); } }.func1();//익명객체라고 한다//즉석이라 딱 한번 사용하고 버린다 } } | cs |
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 50 | package Pack01; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.concurrent.SynchronousQueue; import java.util.Collection; import java.util.Collections; import java.util.Iterator; abstract class Apple{ abstract void func1(); } class Dog{ void func100(Apple apple){ System.out.println("멍멍"); apple.func1(); System.out.println("냥냥"); } } public class Hello { public static void main(String[] args) { Apple a1=new Apple() { @Override void func1() { System.out.println("호랑이");// TODO Auto-generated method stub } }; a1.func1();//호랑이 Apple a2=new Apple() { @Override void func1() { System.out.println("나비");// TODO Auto-generated method stub } }; a2.func1();//나비 //******************************************************** //코드를 함수의 인수전달을 할려고 하는게 말이 안됐지만 익명 클래스를 사용하면서 됐다. System.out.println(); Dog d1 =new Dog(); d1.func100(a1);//멍멍 호랑이 냥냥 d1.func100(a2);//멍멍 나비 냥냥 //Dog d2 =new Dog(); } } | cs |
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 | public class Hello{ public static void main(String[] args) { Orange o1=new Orange(); o1.func1(); o1.func3(); System.out.println(); Apple a1=new Orange(); a1.func1(); a1.func3(); new Apple() { @Override public void func1() { // TODO Auto-generated method stub System.out.println("앵무새"); } @Override public void func3() { // TODO Auto-generated method stub System.out.println("카맬레온"); } }.func3();//카멜레온 System.out.println(); Kiwi k1 = new Kiwi(); k1.show(new Apple() { @Override public void func3() { // TODO Auto-generated method stub System.out.println("원숭이"); } @Override public void func1() { // TODO Auto-generated method stub System.out.println("코알라"); } }); } } | cs |
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 | package Pack01; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.concurrent.SynchronousQueue; import java.util.Collection; import java.util.Collections; import java.util.Iterator; class Apple{ } public class Hello{ public static void main(String[] args) { System.out.println("숫자를 입력 해주세오"); Scanner s = new Scanner(System.in); System.out.println("호랑이"); int n = new Scanner(System.in).nextInt(); System.out.println("코끼리"+n); Scanner a = new Scanner(System.in); //실행후 숫자를 치면 //코끼리+숫자 } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package Pack01; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.concurrent.SynchronousQueue; import java.util.Collection; import java.util.Collections; import java.util.Iterator; public class Hello{ public static void main(String[] args) { Random rn=new Random(); System.out.println(rn.nextInt()); System.out.println(rn.nextInt(100)); for (int i = 0; i < 10; i++) { int n =rn.nextInt(3)+1; System.out.print(n+" "); } } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package Pack01; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.concurrent.SynchronousQueue; import java.nio.channels.NetworkChannel; import java.util.Collection; import java.util.Collections; import java.util.Iterator; public class Hello { public static void main(String[] args) { Random rn = new Random(); int n= rn.nextInt(6)+1; System.out.println("숫자를입력하세요"); int input = new Scanner(System.in).nextInt(); if(n==input) { System.out.println("숫자를 맞추었습니다."); }else { System.out.println(n+" "+input); } } } | cs |