toggle menu

JAVA 정리 - 제한자 final과 abstract

2012. 7. 25. 09:39 JAVA

final 과 abstract는 반대개념.


final

변수
final이 변수 앞에 오게되면 상수로 인식.

static은 전역변수에만 들어갈 수 있지만, (지역변수x)
final은 전역,지역 변수 모두에 사용할 수 있다.

상수는 모두 대문자로 표시하는 것을 권장하며 반드시 값을 초기화해야함.
(예) MAX_ITEM_NUMBER


메소드
method 앞에 오면 오버라이딩(재정의) 불가.


클래스
클래스 앞에 오면 상속이 안되고 객체 생성은 가능.




abstract

변수
변수 앞에 올 수 없다.


메소드
메소드 앞에 abstract가 붙으면 선언부만 있고 구현부가 없다. 즉 오버라이딩을 위한 것이다.
보통 이벤트 등의 구현에 많이 사용되는데, 이는 이벤트마다 처리하는 내용이 달라질 수 있기 때문에.

abstract method를 가지고 있는 class는 반드시 abstract class로 선언해야 한다.

//이렇게 원형만 만들어둠.
public abstract void emptyMethod();


//상속받은 클래스에서 아래와 같이 오버라이딩해주는데, abstract는 제외!
public void emptyMethod()
{ ... }


클래스
abstract 클래스는 생성할 수 없고, 무조건 상속해야 사용할 수 있다.

어떤 클래스가 abstract 클래스를 상속받았다면 abstract 메소드를 오버라이딩해야한다. 그렇지 않으면 상속받은 클래스도 abstract 클래스로 선언되어야 한다.



JAVA 관련 포스팅 더보기