static, final, 패키지,

2019. 3. 8. 19:14JAVA

------------------static-------------------------------


static 

한번만 생성된다.라는뜻?

객체를 생성하지않고 바로 사용할수있게해줌

공유해야하는 값, 객체매다 동일한 값을 가질때 사용함

그래서 상수, 정적변수, 정적 필드라고 한다.


static은 필드, 메소드, 클래스에 부착이 가능.


public class A{

int x; <-- 인스턴스 변수, 멤버 변수

static int y; <-- 정적변수, 클래스 변수

}




-----------------final-----------------------


final

쓰게되면 변수값을 절대 못바꾸게 된다.

final int y;  <---- 상수, 값을 못바, 값변경 금지

final void method(){}   <---- 재정의 금지

final class a{}   <---- 상속금지


final도 클래스 메소드 필드에 붙일수있음



상수 표현하기


public static final int MAX_UPLOAD_SIZE = 10485760;

public static final double DISCOUNT_RATE = 0.03;

public static final String FILE_UPLOAD_DIRECTORY = "c:/files";

(상수는 상수명을 모두 대문자와 언더바(_)로 적는다, 그리고 앞에는 무조건 public static final을 쓴다.


)



----------------패키지---------------------


package

클래스를 체계적으로 관리하기 위해서 사용(폴더)


부를땐 import를 쓴다.


package kr.co.jhta.app; // 패키지 선언


import kr.co.jhta.vo.Professor;

import kr.co.jhta.vo.Student; // 다른 패키지에 있는 클래스는 import구문으로

// 해당 클래스의 전체경로(패키지경로 + 클래스)를 명시해야한다.


import kr.co.jhta.vo.*; // 이것과 같이 *를 붙어 다 부를수도 있다.

*로 불러도 리소스나 메모리 사용량의 차이가 거의 없다 이것은 java의 "동적로딩"을 지원하기 때문이다.