로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

Java 함수(메서드) 완벽 가이드

lmkfox · 2025-06-06 · 조회 0
Java 함수(메서드) 완벽 가이드
1. 함수란? 함수(Function) 또는 메서드(Method) 는 특정 작업을 수행하는 코드 블록입니다. Java에서는 클래스 내부에 정의되며, 코드의 재사용성과 구조화를 높이는 데 필수적인 개념입니다. 2. 함수의 기본 구조 리턴타입 함수명(매개변수목록) { // 실행 코드 return 반환값; } 예시: public int add(int a, int b) { int sum = a + b; return sum; } 구성요소 설명 구성요소 설명 접근제어자 public, private 등 반환형 결과로 반환되는 값의 자료형 함수명 메서드 이름 (소문자로 시작 권장) 매개변수 외부로부터 전달받는 값들 return문 결과를 반환 3. 매개변수(Parameter)와 인자(Argument) - 매개변수(Parameter): 함수를 정의할 때 선언한 변수 - 인자(Argument): 함수를 호출할 때 실제로 전달하는 값 예시: public void greet(String name) { System.out.println("Hello, " + name); } // 호출 greet("Alice"); // name에 "Alice"가 전달됨 4. 반환값(Return) 함수가 작업을 마친 후 결과를 돌려주는 것. void는 반환값이 없다는 뜻입니다. public int square(int x) { return x * x; } public void printHello() { System.out.println("Hello"); } 5. 함수 호출 int result = square(5); printHello(); 6. 함수 오버로딩(Overloading) 같은 이름의 함수지만 매개변수가 다르면 여러 개 정의 가능 public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } 오버로딩은 다형성(polymorphism) 의 한 형태로 이해할 수 있으며, 객체지향 설계에 유리한 방식입니다. 7. 접근 제어자와 static 키워드 접근 제어자 - public: 어디서든 접근 가능 - private: 클래스 내부에서만 접근 가능 - protected: 같은 패키지 또는 자식 클래스에서 접근 가능 - default (지정하지 않음): 같은 패키지에서만 접근 가능 static 키워드 - static 함수는 객체 생성 없이 호출 가능 - 보통 유틸리티 함수에 사용 public static int multiply(int x, int y) { return x * y; } // 호출 예시 int result = MyClass.multiply(3, 4); 8. 실습 예제 public class Calculator { // 덧셈 public int add(int a, int b) { return a + b; } // 곱셈 (static) public static int multiply(int a, int b) { return a * b; } // 메시지 출력 public void printMessage(String msg) { System.out.println("Message: " + msg); } public static void main(String[] args) { Calculator calc = new Calculator(); int sum = calc.add(10, 20); System.out.println("Sum: " + sum); int product = Calculator.multiply(3, 5); System.out.println("Product: " + product); calc.printMessage("Java 메서드 학습 중"); } } 9. 함수 사용의 장점 - 재사용성 증가: 중복 코드 제거 - 가독성 향상: 코드 블록화로 읽기 쉬움 - 유지보수 용이: 함수 단위로 수정 가능 - 테스트 및 디버깅 쉬움 10. 교육 팁 (교사용) - 실습 중심: 입출력 없는 간단한 함수부터 시작 - 연습 문제 제시: 최대값, 절댓값, 팩토리얼, 소수 판별 함수 만들기 - static과 인스턴스 메서드 차이를 실습을 통해 명확히 전달 - 메서드 오버로딩 실습을 통해 다형성 개념 예고 요약 항목 설명 메서드 정의 리턴타입, 함수명, 매개변수, 실행 코드 포함 호출 방식 객체.메서드명(인자); 또는 클래스명.메서드명() 반환값 return 문으로 결과 반환 (void는 없음) 오버로딩 매개변수의 타입/개수에 따라 여러 함수 정의 static 메서드 객체 없이 클래스명으로 호출 가능

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.