변수와 메서드
1. 선언위치에 따른 변수의 종류
- [인스턴스변수]
- 클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다.
- 인스턴스마다 고유한 상태를 유지해야 하는 속성의 경우, 인스턴스변수로 선언한다.
- new할때 생성
- [클래스변수]
- 인스턴스변수 앞에 static 붙이면 된다.
- 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야 하는 속성의 경우
- 인스턴스를 생성하지 않고도 언제라도 바로 사용 할 수 있다.
- new할때 생성x 처음 메모리에 로드될때 생성
- 클래스이름.변수 이런식으로 사용한다
- [지역변수]
- 메서드 내에 선언되어 메서드 내에서만 사용 가능
2. 기본형 매개변수 & 참조형 매개변수
-
- [기본형 매개변수]
- 변수의 값을 읽기만 할 수 있다 (read only)
- 기본형의 값이 복사 되어 넘겨주기 때문에 원본에는 영향 x
-
- [참조형 매개변수] : 변수의 값을 읽고 변경할 수 있다 (read & write)
- 인스턴스의 주소를 넘겨주기 때문에 원본에 영향 o
3. 클래스 메서드(static메서드)와 인스턴스 메서드
-
- [인스턴스 메서드]
- 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드
-
- [클래스(static) 메서드]
- 인스턴스와 관계없는 (인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드
- 클래스의 멤버변수 중 모든 인스턴스에 공통된 값을 유지해야하는 것이 있는지 살펴 보고 있으면, static을 붙여준다
- 작성한 메서드 중에서 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드에 static을 붙일 것을 고려한다
생성자
1. 생성자란
- 인스턴스가 생성될 때 호출되는 ‘인스턴스 초기화 메서드’
[조건]
- 생성자의 이름은 클래스의 이름과 같아야 한다
- 생성자는 리턴 값이 없다
2. 기본생성자
- 기본 생성자가 컴파일러에 의해서 추가되는 경우는 클래스에 정의된 생성자가 하나도 없을때 뿐이다.
3. 생성자에서 다른 생성자 호출하기 - this(), This
- 생성자의 이름으로 클래스이름 대신 this를 사용한다
- 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출이 가능하다
Reference