티스토리 뷰
변수의 생명주기
메서드를 자세히 보기 전에 변수의 생명주기에 대한 이해가 필요하다.
| 변수 종류 | 생명주기 |
| 지역변수 | 지역변수를 선안한 중괄호 내에서만 유효하다. |
| 매개변수(파라미터) | 메서드가 호출될 때 만들어지고 메서드가 끝나면 사라진다. |
| 객체변수 | 객체가 생성될 때 만들어지고, 그 객체를 참조하고 있는 변수가 없으면 사라진다. |
| 클래스변수 | 클래스가 처음 호출될 때 생명이 시작되고, 프로그램이 끝날 때 사라진다. |
메서드
- 메서드란 클래스 안에서 특정 기능을 수행하기 위해 코드들을 따로 하나의 블록으로 묶어놓은 집합이다.
- 필요에 따라 이 집합을 호출해서 사용할 수 있다.
- 우리는 메서드를 구현함으로써, 같은 내용의 코드를 반복적으로 작성해야 하는 상황을 피할 수 있다.
- 메서드의 작성은 메서드 밖에서 써야 한다.
메서드의 선언
- 메서드는 크게 머리(header)와 몸체(body)로 구성되어 있다.
접근제한자 반환형 메서드명(파라미터) {
작업할 내용;
return 반환값;
}
접근제한자, 반환형, 메서드명, 파라미터 이 3가지 단어는 익숙하지 않을 것이다.
접근제한자
- 이 메서드/필드/클래스에 대해 접근을 어디 범위까지 제한하느냐에 대한 지시어
| 접근제한자 | 범위 |
| public | 같은 프로젝트 내의 모든 객체들이 사용할 수 있도록 허용 |
| private | 현재 클래스 내에서만 사용을 허가 |
| protected | 상속관계의 객체들에게만 사용을 허가 |
| default | 같은 패키지내의 객체에서만 사용을 허가(기본값) |
반환형
- 메서드가 처음부터 끝까지 실행을 마친 후 반환해야 할 값이 있을 경우 기입
- int, char, boolean 등 기본자료형을 포함하여 String이나 사용자가 직접 만든 객체로도 반환이 가능
- 아무것도 반환하지 않을 경우 void를 기입.
메서드명
- 호출할 때 사용하기 위한 함수의 이름
- 첫 글자는 소문자로 시작한다.
파라미터(매개변수, 인자)
- 외부에서 해당 메서드를 통해 특정 값을 전달하고자 할 때,
그 값을 받아서 메서드(함수) 내부에서 처리할 수 있도록 하는 역할을 하는 변수
return
- 함수에서 모든 작업을 마치고 경우에 따라 실행한 결과를 호출한 곳으로 다시 돌려줘야 한다.
- 이건을 반환이라고 한다.
- 반환하는 결과값을 '반환값'이라고 부르기도 한다.
- 반환값이 있는 경우에는 반환할 데이터의 타입이 무엇인지 반환형을 기재해줘야 한다.
- 리턴값이 없는 경우 메서드를 종료하는 기능으로서 return을 작성할 수 있다.
메서드 예제
버스 교통카드 예제를 살펴보자
public class Bus {
public void take(int m) {
while(true) {
if (m < 3000) {
System.out.println("교통카드를 충전하러 갑니다.");
return;
}
System.out.println("버스를 탑니다.");
m -= 1500;
}
}
}
접근제한자 : public
반환형 : void
메서드명 : take
파라미터 : int m
public class BusMain {
public static void main(String[] args) {
Bus bus = new Bus();
int money = 10000;
bus.take(money); // 메서드(함수)의 호출
//함수의 호출은 반드시 함수 안에서 해야한다.
}
}
메서드의 호출은 객체명.메서드명(파라미터)이다.
우선 Bus객체를 생성을 해주고 생성용 클래스에서 만든 take메서드를 호출해 보자.
버스를 탑니다. //10000 -> 8500
버스를 탑니다. //8500 -> 7000
버스를 탑니다. //7000 -> 5500
버스를 탑니다. //5500 -> 4000
버스를 탑니다. //4000 -> 2500
교통카드를 충전하러 갑니다.
매개변수(파라미터)에 들어간 10000원이 버스를 타면서 1500원씩 빠져나가다가 3000원 미만으로 떨어지면 충전을 하러 가는 것을 볼 수 있다.
반환형이 있는 메서드
public class MethodTest {
//f(x) = 2x + 1
public int f(int x) {
return 2*x + 1;
}
}
반환값이 있는 경우 반환형 자리에 자료형을 써줘야 한다.
계산한 수의 결과를 반환할 것이니 정수형(int)을 반환형에 작성을 해준 뒤 return으로 반환을 해주자.
public class MethodMain {
public static void main(String[] args) {
MethodTest t = new MethodTest();
System.out.println(t.f(5));
//데이터를 반환해주는 것이기 때문에 출력문이나 변수안에다가 대입을 해줘야 한다.
}
}
[JAVA]setter&getter
setter & getter 란? - 객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막는다. - 예를 들어 자동차의 속도가 음수가 될 수 없는데, 외부에서 음수로 설정하면 무
treebomb-code.tistory.com
'Java' 카테고리의 다른 글
| [JAVA] 생성자(Constructor) (0) | 2023.12.19 |
|---|---|
| [JAVA]setter&getter (0) | 2023.12.15 |
| [JAVA]클래스(Class) (0) | 2023.12.13 |
| [JAVA]배열2(Arrays) (0) | 2023.12.01 |
| [JAVA] 배열(Array) (2) | 2023.11.30 |
- Total
- Today
- Yesterday
- 자바 기초
- 자바 클래스 설명
- 자바 게터
- 자바 클래스 이해
- 생성자 위치
- 생성자란
- 생성자를 써야하는 이유
- 자바
- 코딩
- 자바 배열 초기화
- 모바일프레임워크
- 자바 배열 생성
- 자료형
- 자바기초
- 코린이
- 자바 세터
- 자바 배열 내림차순 정렬
- java기초
- 자바 this()
- 자바 Arrays
- 생성자 호출 위치
- 자바 생명주기
- 생성자 쉽게 만들기
- 자바 배열
- Java
- java overloading
- 변수 생명주기
- 배열 내림차순
- getter setter 쉽게 만들기
- 게터세터 쉽게 만들기
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |