TIL | 06.13의 기록
class 영역에서 선언된 변수, 상수들은 멤버변수(전역변수)이다.
final int MAX = 100;
=> final이 있으면 상수화된 변수라고 한다.
상수화된 변수는 값을 변경할 수 없으며 변수명은 모두 대문자로 한다. (ex: Math.PI, Calendar.YEAR ...)
Scanner scan = new Scanner(System.in);
=> 레퍼런스변수(인스턴스:instance) : 클래스를 이용하여 변수를 선언한다.
객체를 생성하는 방법이다.
객체명.메소드명
객체명.멤버변수
ClassTest() {
//실행문이 들어가는 곳이다. (변수,수식,if,for,while,배열 ...)
}
this.num = num;
=> this는 코드가 실행되고 있는 클래스를 가리킨다.
기능을 구현한다.
void sum() {실행문;}
String total(int a) {
System.out.print("정수입력=");
a = scan.nextInt();
int tot =0;
for(int i=1; i<=a; i++) {
tot = tot + i;
}
return "1~"+a+"까지의 합은 -> "+tot; //return->값을 반환한다
} //return값은 메소드의 반환값(String)과 같은 타입이어야 한다
static은 멤버변수, 메소드에 표기할 수 있다.
데이터타입 왼쪽에 기술하여 한다.
값이 한개뿐이다. 한곳에서 바꾸면 다른 객체에서도 바뀐 값이 적용된다.
객체명.멤버변수
, 클래스명.멤버변수
멤버영역에는 실행문을 표기할 수 없다.
static을 이용하면 멤버영역에 실행문을 기술할 수 있다.
static을 이용한 실행문은 제일 먼저 실행되며 한번만 실행된다.
같은 클래스로 객체를 여러번 생성하더라도 한번만 실행된다.(생성자 메소드는 객체를 생성하는만큼 실행된다.)
메소드에 static을 붙이면 객체를 생성하지 않고 외부에서 클래스명.메소드명
으로 접근이 가능하다.
static이 없는 메소드는 객체를 생성해야하고 객체명.메소드명
으로 접근 가능하다.
static 멤버변수는 객체를 생성하지 않고 사용할 수 있다. Math.PI
public > protected > dafault(생략) > private
public
: 공용 (누구나 접근 허용)
protected
: 같은 팩키지 전부 허용, 다른 팩키지 상속 관계일때 허용
default
: 같은 팩키지 내에 있는 클래스에게 접근을 허용
private
: 같은 팩키지, 같은 클래스내에서만 접근 허용