1. 데이터와 함수의 결합
2. 사용자 정의 타입
변수
선언된 위치에 따른 분류 |
생성시기 | |
클래스변수 |
클래스 영역 |
클래스가 메모리에 올라갈 때 |
인스턴스변수 |
클래스 영역 |
인스턴스가 생성되었을 때 |
지역변수 |
클래스 이외 영역 (메서드, 생성자, 초기화 블럭 내) |
변수 선언문이 수행되었을 때 |
class Variavles
{
int iv; //인스턴스 변수 : 자신만의 값을 유지할 수 있다.
static int cv;
//클래스 변수 : 모든 인스턴스가 공통적으로 같은 값을 갖게 할수 있다.
void method() {
int lv = 0; //지역 변수
}
}
메서드 (함수)
- 어떤 작업을 수행하기 위한 명령문의 집합
- 반복적으로 사용되는 코드를 줄이기 위해서 사용한다.
- 코드를 한곳에서만 관리하면 되므로 유지보수가 편리하다.
- 하나의 매서드는 한 가지 기능만 수행하도록 작성한다.
메서드가 정상적으로 종료되는 경우
- 메서드의 블럭{ }에 있는 모든 문장을 수행했을때
- 메서드의 블럭{ }에 있는 문장을 수행중에 return문을 만났을때
┌ 반환값이 없을때 - return;
└ 반환값이 있을때 - return 반환값;
메서드 호출
┌ 인스턴스 메서드 : 참조변수를 총해서만 호출이 가능하다. 도트연산자(.)
└ static 메서드 : 클래스이름.메서드이름();
- 같은 클래스의 메서드끼리는 참조변수를 사용하지 않고 서로 호출이 가능하다
- static메서드는 같은 클래스 내의 인스턴스 메서드를 호출할 수 없다.