일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드
- 예외처리
- 배열
- 기본
- Menu
- 전화걸기
- struts2
- HTML
- 메서드
- 생성자
- oracle
- 메소드
- 국제화
- layout
- 오버로딩
- mybatis
- OGNL
- Java
- 클래스
- Graphic
- AWT
- 이클립스
- 어노테이션
- JSP
- Android
- Spring
- paint
- JavaScript
- Eclips
- 에러페이지
- Today
- Total
목록자바/인터페이스 (8)
note
package com.inter5;//클래스간 다중상속 interface IHello{ public abstract void sayHello(String name); } interface IGoodBye{ public abstract void sayGoodBye(String name); } //인터페이스는 클래스에 다중 구현(우회적 다중상속)할 수 있다 class Subclass implements IHello, IGoodBye{ public void sayHello(String name){ System.out.println(name+"씨 안녕??"); } public void sayGoodBye(String name){ System.out.println(name+"씨 바이"); } } public cl..
package com.inter3; interface IHello{ void sayHello(String name); } class Hello implements IHello{ public void sayHello(String name){ System.out.println(name + "씨 안녕하세요!"); } } public class InterfaceTest01 { public static void main(String[] args){ Hello obj = new Hello(); obj.sayHello(args[0]); } }
package com.inter3;//인터페이스 공통자료형 , 공통표준화 class A{ void autoPlay(I i){ //여러 자료를 받기 위해 인터페이스의 I값을 가져옴 i.play(); } } interface I{ public abstract void play(); } class B implements I { public void play(){ System.out.println("play in B class"); } } class C implements I { public void play(){ System.out.println("play in C class"); } } public class InterfaceTest2 { public static void main(String[] args)..
package com.inter2;//인터페이스 타입으로 형변환 interface A{ public abstract int getA(); } public class Round02 implements A{ //인터페이스 A의 추상메소드 getA()를 구현 public int getA(){ return 10; } public String getMsg(){ return "겨울"; } public static void main(String[] args) { Round02 rd = new Round02(); System.out.println(rd.getA()); System.out.println(rd.getMsg()); A a = rd; //클래스 타입 -> 인터페이스 타입 //자동적으로 형변환 System.ou..
인터페이스 용도 1.구조화된 클래 사용(클래스 설계를 위해서) 2.표준화(메소드 생성을 강요하기 때문에 구조 동일화) 3.우회적 다중상속 지원 4.자료형으로 사용(서로 관계가 없는 클래스에 관계형성)
package com.inter2;//인터페이스 다중 상속 interface Inter1{ public abstract int getA(); //추상 메소드 } interface Inter2{ public int getB(); //추상 메소드(abstract 생략가능) } //인터페이스간 다중 상속 interface Inter3 extends Inter1,Inter2{ public int getDate(); //추상 메소드 } interface Inter4{ public int getC();//추상 메소드 } public class Round01 implements Inter3,Inter4{ //Round01에 인터페이스를 구현하면 //해당인터페이스의 추상 메소드는 반드시 일반 메소드로 구현되어야 함 p..
package com.inter;//추상 인터페이스 //다중상속이 불허하기 때문에 //인터페이스는 상속이 아닌 구현이라 표현되고 //다중상속이 가능하게 느껴짐(우회적 다중상속을 위해 사용함) //interface는 일반메소드를 가질 수 없음(자동적으로 추상메서드) interface A2{ void aaa();//default가 아니라 public으로 자동적으로 생성됨 public abstract void bbb();//원형 } //class면 extends interface는 implements class B2 implements A2{ /* default생성자로 호출시 에러남 항상 public * void aaa(){ System.out.println("aaa() 메소드"); }*/ //interfac..
package com.inter;//인터페이스 사용 //외형상으로 본다면 A1.class로 저장되어서 클래스로 보임 //인터페이스 //상수 , 추상 메서드 만 사용가능 interface A1{ int W = 10; static int X = 20; final int Y = 30; public static final int Z = 40; //원형 //생략한것도 상수로 인식함(쓴것은 변수여도) //인터페이스는 생성자가 없어서 객체생성이 안됨 } public class Round01 { public static void main(String[] args) { /*인터페이스는 객체 생성이 불가능 A1 a = new A1();*/ /*A1.W는 상수기 때문에 값을 변경할 수 없음 A1.W = 20;*/ Syste..