n Counter Interface implements public class Counter implements
인터페이스와 추상 클래스 n 예제 // Counter. Interface 인터페이스를 implements 함 public class Counter implements Counter. Interface { private int count = 0; // Counter. Interface 인터페이스의 추상 메서드인 add. Count() 오버라이딩함. public int add. Count() { // Counter 클래스의 멤버변수인 count의 값이 Counter. Interface 인터페이스의 상수 // MAX_COUNT와 같으면 count의 값을 0으로 설정함 if(count==MAX_COUNT) return (count=0); return ++count; } n 실행결과 6
인터페이스와 추상 클래스 n 예제 //추상 클래스인 Abstract. Counter 클래스를 선언 abstract class Abstract. Counter { // 상수를 정의하기위해 final 지시자를 사용 protected final int MAX_COUNT=3; // 멤버 변수를 count를 선언한다. protected int count = 0; // 일반 메서드 init()을 정의한다. public void init() { count = 0; } // 추상 메서드 add. Count()를 선언한다. abstract public int add. Count(); } //추상클래스인 Abstract. Counter 클래스를 상속받기위해 //extends 지시자를 사용 public class Counter extends Abstract. Counter { // Abstract. Counter 클래스의 추상 메서드인 // add. Count()를 구현 public int add. Count() { if(count==MAX_COUNT) return (count=0); return ++count; } public static void main(String args[]) { Abstract. Counter counter = new Counter(); counter. init(); for(int count = 0; count < 5; count++ ) { System. out. println(counter. add. Count()); } } n 실행결과 } 9
인터페이스와 추상 클래스 class Inner. Class { // 내재된 톱 레벨 클래스인 Top. Level. Inner. Class 클래스를 선언한다. static public class Top. Level. Inner. Class { // 내부 클래스의 멤버 메서드인 test()를 정의한다. public void test() { System. out. println("톱 레벨 내부 클래스"); } } } public class Test { public static void main(String args[]) { // Inner. Class의 내재된 톱 레벨 클래스 객체를 new 연산자를 상용해 생성한다. Inner. Class. Top. Level. Inner. Class obj = new Inner. Class. Top. Level. Inner. Class(); //내재된 톱 레벨 클래스인 Top. Level. Inner. Class의 메서드를 일반 클래스의 메서드를 //사용하듯이. (돗트) 연산자를 사용해 호출한다. obj. test(); } } 12
인터페이스와 추상 클래스 n 예제 class Inner. Class { private String str= "멤버"; public Inner. Class() { // 내부 멤버 클래스인 Member. Inner. Class 클래스 객체를 생성한다. Member. Inner. Class member. Inner = new Member. Inner. Class(); // Member. Inner. Class 클래스의 메서드를 호출한다. member. Inner. test(); } // 내부 멤버 클래스인 Member. Inner. Class 클래스를 정의한다. public class Member. Inner. Class { public void test() { System. out. println("자신을 정의한 클래스의 "+str+"에 접근할 수 있다. "); } } } public class Test { public static void main(String args[]) { Inner. Class inner = new Inner. Class(); } } n 실행결과 15
인터페이스와 추상 클래스 class Inner. Class { private String str= "멤버"; public Inner. Class() { class Local. Inner. Class { // 지역 클래스인 Local. Inner. Class 클래스를 정의한다. public void test() { System. out. println("자신을 정의한 클래스의 "+str+"에 접근할 수 있다. "); } } // 지역 클래스인 Local. Inner. Class 클래스 객체를 생성한다. Local. Inner. Class local. Inner = new Local. Inner. Class(); // Local. Inner. Class 클래스의 메서드를 호출한다 local. Inner. test(); } } public class Test { public static void main(String args[]) { Inner. Class inner = new Inner. Class(); } } 17
- Slides: 17