java0116

 

final

  • class

    상속을 받을 수 없다.

    상속을 받는 이유 : 물려받아서 수정하고, 오버라이딩하고 ... --> 불가

    final class는 처음에 만들어 놓은 모양 그대로만 사용할 수 있다.

     

  • method

    overriding(재정의) 불가

    클래스 상속은 가능, 클래스 안의 다른 메소드는 가능.

    final이 붙은 메소드만 오버라이딩 불가.

 

클래스가 파이널이면, 클래스 상속 불가. 그안의 메소드도 건들일 수 없다. ==> final method 효과

일반 클래스에서 한 메소드만 final면, 그 메소드만 overriding 불가.

 

  • variable

    상수가 된다. 항상 변하지 않는 값.

     

    ex) math.class

    final class ==> 모든 메소드와 변수는 final. 즉, 고칠 수 없다.

     

     

 

**static

field variable, method, block 에 붙힐 수 있다.

 

생성이 되는 위치와 시점이 다르다.

 

소스파일 --컴파일--> 실행파일 ----> ~~~

.src .class

 

컴파일 하다가 static 을 만나면 인식하고,

실행버튼 누르면. main이 실행되기 전에 (컴파일 시점) static붙은 애들은 컴파일러가 미리 class area에 미리 만들어 놓는다. 1개만.

 

원래는 main이 실행되어야 객체가 만들어짐

count변수는 객체 생성을 해야 만들어진다.

static 변수를 사용할때는 객체 생성을 안해도 된다.

 

 

 

타 클래스에서 static변수를 사용하고 싶을때

==> 클래스이름.변수명

 

 

 

static method 안에서는 this, super 사용 불가능

main이 실행되기전에 생성되므로, this나 super가 없어서 error발생

'Computer Science > Languages' 카테고리의 다른 글

[java] 쓰레드(Thread)  (0) 2019.01.24
[java] 예외처리  (2) 2019.01.24
[java] Collection 활용  (0) 2019.01.17
[java] interface  (0) 2019.01.16
JAVA 입출력  (2) 2019.01.08

+ Recent posts