[Java 기초]--06.java 내부 클래스와 매거 클래스

1. 내부 클래스:


한 종류에서 다른 종류를 성명하다.내부 클래스: 내부 클래스, 외부 클래스: 외부 클래스

1. 구성원 내부 클래스:


① 클래스의 구성원 중 한 명이다.(속성, 방법, 구조기, 코드 블록) ② 내부 클래스는 4가지 액세스 제어 수정자(public protected default private) ③ static final 사용 가능
    // 
            Person.Mobile pm = new Person.Mobile();       
            pm.message();

            // 
            //Person p = new Person();
            //Person.Computer pc = p.new Computer();

            Person.Computer pc = new Person().new Computer();
            pc.show();

④ 내부 클래스의 외부 클래스는 같은 특성을 가진다.
   class Person{
            Stirng name;
            int age;

            // 
            public class Computer{
                String name;           

                public void show(){
                    System.out.println(this.name);       
                    System.out.println(Person.this.name);//    
                }
            }   

            static class Mobile{
                public void message(){

                }
            }   
        }


2. 부분 내부 클래스:

    // 
    public void show(){
        class InnerClass{}
    }


    // , 
    public Comparator getComparator(){

        class MyComparator implements Comparator{
            public int compare(Object o1, Object o2){
                return 0;
            }           
        }       

        return new MyComparator();
    }   

    public Comparator getComparotor(){
        // 
        Comparator com = new Comparator(){
            public int compare(Object o1, Object o2){
                return 0;
            }
        };

        return com;
    }   


    pulbic Comparator getComparator(){
        return new Comparator(){
            public int compare(Object o1, Object o2){
                return 0;
            }
        };
    }           

2. 열거류:


jdk1.5 뒤에 나온 새로운 기능은 유한한 수량의 빈틈없는 데이터 집합을 정의할 수 있다.간단하게 말하면, 하나의 종류에 몇 개의 대상이 있는지 확정할 때, 매거를 사용한다.

1. 열거 클래스 사용자 정의


① 사유화 구조기 ②클래스 내부 창설 대상
class Season{

    // 
    public static final Season SPRING = new Season();
    public static final Season SUMMER = new Season();   
    public static final Season AUTUMN = new Season();   
    public static final Season WINTER = new Season();   

    // 
    private Season(){}

}

2. enum 키워드를 사용하여 열거 클래스 만들기

enum Season{
    SPRING,
    SUMMER,   
    AUTUMN,   
    WINTER;
}

열거 클래스의 일반적인 방법:
value Of (String name):name 열거 클래스 대상의 이름에 따라 지정한 열거 클래스 대상values 가져오기 (): 현재 열거 클래스에 있는 모든 열거 클래스 대상의 그룹 가져오기

3. 매거류 실현 인터페이스

public enum Season implements MyInterface{
    SPRING{
        public void show(){
            System.out.println(" ");
        }
    },
    SUMMER{
        public void show(){
            System.out.println(" ");
        }
    },
    AUTUMN{
        public void show(){
            System.out.println(" ");
        }
    },
    WINTER{
        public void show(){
            System.out.println(" ");
        }
    };

//    @Override
//    public void show() {
//        System.out.println(" ");
//    }
}

좋은 웹페이지 즐겨찾기