클래스의 3요소 중 하나인 메서드에 대해 알아보자.
[메서드]
클래스 안에서 특정 기능을 수행하기 위해
코드들을 하나의 블록으로 묶어 놓은 집합.
메서드를 구현함으로써 같은 내용의 코드를
반복적으로 사용하는 것을 피할 수 있다.
Why? 반복되는 문장들을 묶어서 메서드화 하면
필요할 때마다 메서드를 호출해서 재사용하면 되니까!
이렇게 메서드처럼 코드들의 집합을
따로 분리하는 것을 '모듈화'라고 하며 이를 통해
가독성은 높이고 코드 결합도는 낮출 수 있다.
메서드 선언
: 접근제한자+반환타입+메서드 이름(){기능수행코드}
- 접근제한자 : private/public 이 있으며 보통 public으로 사용한다.
- 반환타입 : 반환하는 결과값이 어떤 자료형인지 선언한다.
- 메서드 이름 : 변수처럼 이름을 가지는데, 이름만으로 기능이 유추가능해야 한다.
메서드 호출
메서드 호출은 아래와 같이 진행된다.
메서드가 있는 클래스 참조변수 = new 클래스();
참조변수.메서드 이름();
(단, 같은 클래스에 있는 메서드 호출 시에는 이름만 기재)
//메서드 선언
public void count(){
System.out.println("더하기가 시작됩니다.");
}
//메서드 호출하기
Number number = new Number(); //클래스 객체 생성
number.count();//객체.메서드명 을 통해 호출
[매개변수와 retrun]
메서드는 기능 수행을 위해 필요한 인자를 받을 수 있다.
우리는 그 인자를 '매개변수' (=Input) 라고 부른다.
그래서 메서드를 선언할 때, 소괄호 안에
어떤 형태로 매개변수를 받을 지 작성할 수 있다.
매개변수 선언
매개변수의 자료형+매개 변수명
> int number
2개 이상 선언 시 콤마를 사용한다.
> int number, int count
메서드 호출 시
매개변수가 선언되면 메서드 호출 시
소괄호() 안에 매개변수 값을 기입해야 한다.
> calc.sum(3,6) // 이때 3과 6이 매개변수다.
기능 수행을 위해 필요한 인자를 전달한 것처럼
수행이 완료되었을 때 나온 결과값을 돌려줄 수도 있다.
이것을 리턴값(return value)라고 한다.
메서드 선언 시 작성된 반환타입에 맞는 반환 값이 나와야 한다.
sum이라는 메서드를 통해 도출되는 결과값이 합산된 숫자라면,
반환타입은 int로 명시되어야 하고 return은 숫자의 총 합이 되어야 한다.
void타입이 아니라면 return이 없으면 에러가 발생한다.
[getter와 setter]
지금까진 클래스의 필드명을 간단하게 호출하여
필드값을 변경하거나, 불러올 수 있었다.
하지만 필드값을 마음대로 외부에서 바꾸거나
볼 수 있는 상황이 올바른 상황은 아니다.
잘못된 외부 접근을 막기 위해 접근제한자 private을 사용하게 되는데,
이렇게 되면 메서드를 이용한 변경과 읽기만 가능하다.
메서드를 이용한 변경을 setter, 메서드를 통한 읽기(불러오기)를 getter라고 한다.
접근제한자 private와 getter, setter는 세트라는 걸 꼭 기억해 두자!
※ 게터, 세터는 너무 자주 사용되어 자바에서 자동 생성 기능도 제공한다.
[getter & setter의 장점]
- 필드(멤버변수)의 값을 보호할 수 있다.
- 메서드에서 필드에 들어갈 값을 검증 후 대입할 수 있다.
- 외부에서 사용할 필드의 값을 정제한 후 제공할 수 있다.
'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글
| 상속 (0) | 2025.11.08 |
|---|---|
| 생성자 (0) | 2025.11.06 |
| 소프트웨어 공학의 발전 (0) | 2025.11.05 |
| 클래스(class) (0) | 2025.11.04 |
| 소프트웨어 공학의 주제 (0) | 2025.11.03 |