티스토리 뷰
# 상수 :
모든객체가 공유해야(static)하고
한번결정된 값은 마지막(finial)이어야하는 것
상수는 보통 변수명을 대문자로 선언하자는 관례적인 규칙이 있다.
[ex]
class A{
static final int B=100;
static int c=200;
}
class B{
public static void main(String args[]){
System.out.println(A.B);
System.out.println(A.c);
}
}
# 인터페이스
-인터페이스 안에는 상수와 추상메서드만 쓸 수 있다.
[sy]
interface 인터페이스{
상수
추상메서드
}
ex)
interface A{
int a=100; // public static final int a=100; --> public static final이 자동으로 생성되있음
(상속받을때 생각해야됨)
}
interface A{
void a(); // public abstract void a(); --> 메서드도 자동으로 public abstract 생성되있음
} (상속받을때 생각해야됨)
#인터페이스의 상속
1)인터페이스를 상속할때는 extends 가 아닌 implements 를 사용.
2)인터페이스는 다중상속을 지원한다.
3) 인터페이스끼리는 상속된다.(extends사용)
4) 접근제어자의 범위가 좁아지면 안된다.
인터페이스 왜쓰냐??
ex)
interface 날수있는{}
class 오리{}
class 고무오리 extends 오리{}
class 청둥오리 extends 오리 implements 날수있는{}
class 집오리 extends 오리{}
이 예제에서 청둥오리는 '오리'고 '날수있는'특징이 있어서 2개다 받고싶은데 '날수있는'특징을 클래스로 잡아버리면 오리랑 둘다 다중상속이 안되고 '날수있는'을 클래스로 받아서 '오리'에 상속시켜서 상속받자니 다른오리도 '오리'를 받을때 '날수있는' 특징을 다받아버리니까('오리'에 이미 '날수있는'이 상속되어있기때문) 인터페이스를 사용하여 필요한 부분에만 사용할 수 있다.
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] 내부클래스 (0) | 2017.11.15 |
---|---|
[JAVA] 자바의 진수표현 (0) | 2017.11.15 |
[JAVA] 자료형변환 (0) | 2017.11.15 |
[JAVA] 기타제어자 (0) | 2017.11.15 |
[JAVA] 다형적변수 (0) | 2017.11.15 |
댓글