프로그래밍/JAVA

java 메소드

Cognivox 2025. 4. 9. 14:25
반응형

✅ 메서드란?

특정 작업을 수행하는 코드의 집합, 쉽게 말해 반복되는 코드를 함수처럼 묶는 것


📌 왼쪽 (a) 반복되는 코드 그대로 쓴 경우

이걸 3번 복붙해서 코드가 길어짐 → 비효율적이고 유지보수 어려움


✅ 오른쪽 (b) 메서드를 만든 경우

그리고 메인 메서드에서 이렇게 간단히 호출함:

중복 제거, 코드 깔끔해짐, 유지보수 쉬움


🧠 기억 포인트

구분            내용
메서드 정의 public static void Method(int num) { ... }
메서드 호출 Method(값);
장점 중복 제거, 코드 간결, 재사용성 향상

 

✅ 메서드의 필요성 (장점 3가지)

1️⃣ 재사용성 ♻️

  • 한 번 만든 메서드는 계속 다시 쓸 수 있어
  • 같은 코드를 복붙하지 않고, 메서드 이름만 호출하면 됨
    → ✔️ 코드 중복 방지, ✔️ 작업 시간 절약

예: checkEven(num) 이렇게 만들어 놓으면 어디서든 호출 가능


2️⃣ 가독성 👀

  • 코드를 읽을 때 전체 흐름이 더 쉽게 보임
  • 각 작업이 메서드 단위로 나눠져 있으니까 이해가 쉬움

예: calculateScore(), printResult() 식으로 이름만 봐도 무슨 일 하는지 알 수 있음


3️⃣ 유지보수성 🔧

  • 코드를 고칠 일이 생기면 메서드 안만 수정하면 됨
  • 다른 곳은 건드릴 필요가 없음
    → ✔️ 변경에 유연, ✔️ 버그 수정도 간단

예: calculateTax() 메서드만 수정하면 세금 계산 전체가 자동 반영됨


✅ 요약

항목설명
재사용성 메서드를 반복 호출해서 코드 중복 방지
가독성 코드 구조가 명확해서 읽고 이해하기 쉬움
유지보수성 수정할 때 한 곳만 고치면 되니 유지가 쉬움

✅ 메서드 vs 함수, 뭐가 다를까?

구분함수(Function)메서드(Method)
정의 독립적인 코드 블록 클래스 안에 정의된 함수
소속 클래스와 무관 클래스에 속함 (Java에서는 반드시!)
예시 (Python) def hello(): -
예시 (Java) ❌ 없음 public void hello() {}

✅ 자바(Java)에서는 "함수"라는 개념이 없고, 모든 함수는 전부 '메서드'라고 불림

  • 자바는 무조건 클래스 안에서만 코드가 돌아감
  • 그래서 System.out.println() 같은 것도 전부 클래스 안의 메서드

 


💡 요약 한 줄

"모든 메서드는 함수이지만, 모든 함수가 메서드는 아님!"
특히 자바에서는 ‘메서드’가 곧 함수라고 생각하면 됨.

📌 메서드의 구조는 크게 2부분

구성 요소설명
선언부 메서드의 이름, 반환형, 매개변수 등을 정의
구현부 실제로 실행할 코드 내용을 적는 부분

🔍 예시 코드 분석

✅ 1. 선언부

요소의미
public 접근 제한자: 어디서든 접근 가능
static 정적 메서드: 객체 생성 없이 사용 가능
void 반환 타입: 아무것도 반환하지 않음
main 메서드 이름
(String[] args) 매개변수 목록: 문자열 배열로 외부 값 받음 (명령줄 인자)

✅ 2. 구현부

 

💡 전체 예시 한눈에

  • 접근제한자: public
  • 반환형: void (아무것도 반환 안 함)
  • 메서드명: sayHello
  • 매개변수: String name
  • 구현부: 인사 메시지를 출력하는 코드.

.

👉 무슨 일?

  1. method() 메서드를 정의하고
  2. main()에서 호출해서 실행

✅ 리턴문(return)이 없는데도 실행되는 이유는?

void 메서드는 **“아무것도 반환하지 않는다”**는 뜻이기 때문에
→ return 문이 없어도 정상 실행됨!

📌 요약:

반환 타입의미return 필수?
void 반환값 없음 ❌ 필요 없음
int, String 등 특정 값을 반환해야 함 ✅ return 값; 있어야 함

✅ return문이란?

메서드 실행을 종료하고,
호출한 곳에 결과값을 전달하는 명령어

✅ 핵심 요약

개념설명
void 값을 반환하지 않는 메서드
return 메서드를 끝내고 값을 반환하거나, 그냥 종료시킬 수 있음
return 없는 void ❌ 오류 아님! 정상 실행됨

#자바 #메서드 #메소드정의 #메소드호출 #반환값 #매개변수 #리턴문 #void #static #public #main메서드 #메소드오버로딩 #메소드구조 #메소드작성법 #return #매개변수전달 #함수 #스캐너입력 #조건문 #switch문

반응형