1) 변수
선언 위치에 따른 변수의 종류
1. 인스턴스변수 (instance variable)
클래스 영역에 생성, 클래스의 인스턴스를 생성할 때 만들어진다.
독립적인 저장공간을 가지며 서로 다른 값을 가질 수 있다.
인스턴스마다 고유한 상태를 유지해야하는 속성의 경우, 인스턴스변수로 선언한다.
2. 클래스변수 (class variable)
인스턴스변수 앞에 static을 붙여주면 된다.
클래스변수는 모든 인스턴스가 공통된 저장공간(변수)을 공유한다.
인스턴스변수와 달리 인스턴스를 생성하지 않고도 사용할 수 있다.
'클래스이름.클래스변수'와 같은 형식으로 사용한다.
3. 지역변수 (local variable)
메서드 내에 선언되어 메서드 내에서만 사용 가능하다.
메서드가 종료되면 소멸되어 사용할 수 없게 된다.
2) 메서드
메서드를 사용하는 이유
1. 높은 재사용성
한번 만들어 놓은 메서드는 몇 번이고 호출할 수 있다.
2. 중복된 코드의 제거
반복되는 문장들을 묶어서 하나의 메서드로 작성해 놓으면 메서드를 호출하는 한 문장으로 대체할 수 있다.
3. 프로그램의 구조화
큰 규모의 프로그렘에서는 문장들을 작업단위로 나눠서 여러 개의 메서드에 담아 프로그램의 구조를 단순화 시키는 것이 필수적이다.
메서드의 선언과 구현
메서드는 선언부와 구현부로 이루어져있다.
// 선언부
반환타입 메서드이름 (타입 변수명, 타입 변수명)
// 구현부
{
메서드 호출시 수행될 코드
}
// 선언부
int add (int a, intb)
// 구현부
{
int result = a + b;
return result;
}
메서드 선언부
메서드가 작업을 수행하기 위해 어떤 값들을 필요로 하고 작업의 결과로 어떤 타입의 값을 반환하는지에 대한 정보를 제공한다.
메서드 선언부 구성 | ||
반환타입(출력) | 메서드이름 | 매개변수 선언 (입력) |
매개변수 선언
메서드가 작업을 수행하는데 필요한 값들(입력)을 제공, 변수의 타입이 같아도 변수의 타입은 생략 불가능하다.
입력 받을 값이 없다면 생략가능하고 값이 많다면 배열이나 참조변수를 사용한다.
메서드이름
동사인 경우가 많고, 기능을 쉽게 알 수 있도록 지어야한다.
반환타입
메서드의 작업수행 결과(출력)인 반환값의 타입을 적는다.
반환값이 없을 경우 void로 적는다.
메서드 구현부
메서드를 호출했을 때 수행될 문장
return문
반환타입이 void가 아닌 경우, 구현부{}안에 'return 반환값;'이 반드시 포함되어 있어야 한다.
return문은 단 하나의 값만 반환가능, 출력(반환값)은 최대 하나
반환타입과 일치하거나 자동 형변환이 가능한 것이어야 한다.
지연변수
메서드 내에서만 사용가능한 변수
메서드의 호출
메서드를 호출해야만 구현부{}의 문장들이 수행된다.
// 메서드를 호출하는 방법
메서드이름(값1, 값2)
int result = add(3, 5);
출처, 자바의정석
'Programming > Java' 카테고리의 다른 글
[Java] 기본형 매개변수와 참조형 매개변수 (0) | 2021.03.05 |
---|---|
[Java] JVM의 메모리 구조 (0) | 2021.03.05 |
[Java] 객체지향언어란? (0) | 2021.03.02 |
[Java] 다차원 배열 (0) | 2021.03.01 |
[Java] StringBuffer와 StringBuilder (0) | 2021.03.01 |
댓글