본문 바로가기
코딩 공부/web & Java

메소드 구조

by 현장 2022. 8. 29.

▶ 매개변수 (Parameter)

  → 함수를 호출할 때 인수로 전달된 값을 함수 내부에서 사용할 수 있게 해주는 변수

 

▶ 인수 (Argument)

  → 함수가 호출될 때 함수로 값을 전달해주는 값

 

public class AA01 {

	public static void main(String[] args) {
		a(입력값);
	}

	public static void a(data type 매개변수) {
		System.out.println(매개변수 + " <- 변수에 담겨있는 값");

	}

	// a메소드 선언시 data type으로 매개변수를 선언하고
	// a메소드 호출시 매개변수 data type과 같도록
	// 해당하는 타입의 입력으로 매개변수에 입력하여 메소드가 실행된다.
}

 

※ static 메소드 : 객체 생성없이 클래스를 통해 메서드를 직접 호출할 수 있다.  

 

※ JAVA 주석 처리 방법

	// 한줄 주석 = ctrl + /, 한줄 주석 해제 = ctrl + /

	// public static void a() {
	//
	// }

	// 블록 주석 = ctrl + shift + /, 블록 주석 해제 = ctrl + shift + \

	/*
	 * public static void a() {
	 * 
	 * }
	 */

 

예시)

public class Total {

	public static void main(String[] args) {
		uInsert("홍길동", '남', 30);
		System.out.println();
		uInsert("id001", "pw001");
	}

	private static void uInsert(String id, String pw) {
		System.out.println("아이디 : " + id);
		System.out.println("비밀번호 : " + pw);
	}
	
    //오버 라이딩
	public static void uInsert(String name, char gender, int age) {
		System.out.println("이름 : " + name);
		System.out.println("성별 : " + gender);
		System.out.println("나이 : " + age);
	}

}

 

 

▶ 반환값 (Return)

  → 함수를 정의할 때 반환값의 자료형을 지정해주고 함수 안에서 return 키워드로 값을 반환

 

※ void : 반환 값이 없다.

 

"접근 지정자" "데이터 타입" "메소드명" (매개변수) { // 매개변수도 데이터 타입을 지정 해야한다.
	return 반환값; // 메소드에 선언된 데이터 타입과 같은 데이터 타입이어야 한다.
}

 

예시)

public class Age1_2 {

	public static void main(String[] args) {
		String grade = ageCheck(70);
		System.out.println(grade + " <- result 변수에 담겨있는 값");
		// agecheck2 메서드 호출
		System.out.println(ageCheck2(grade));

	}

	// agecheck2 메소드를 선언해서 지원금을 지원할 수 있다.
	public static String ageCheck2(String test) {
		// 지원금을 지원할 수 있다.
		String answer = test;
		if (answer.equals("01미성년자")) {
			answer = "월 1000만원 지원";
		} else if (answer.equals("02청년")) {
			answer = "월 2000만원 지원";
		} else if (answer.equals("03중장년")) {
			answer = "월 3000만원 지원";
		} else if (answer.equals("04노년")) {
			answer = "월 4000만원 지원";
		} else {
			answer = "월 지원금 없다.";
		}

		return answer;
	}

	public static String ageCheck(int age) {
		String answer;

		if (age < 19) {
			answer = "01 미성년자";
		} else if (19 <= age && age < 40) {
			answer = "02 청년";
		} else if (40 <= age && age < 65) {
			answer = "03 중장년";
		} else if (65 <= age) {
			answer = "04 노년";
		} else {
			answer = "05 등급 판정 불가";
		}
		return answer;
	}

  → 리턴 값을 받아 다른 메소드에서 활용하는 코드

 

 

※ 메서드 오버라이딩 : 하나의 클래스에서 메서드 명이 동일하고 입력 갯수와 data type을 다르게 프로그래밍 하는 방법 But 유사 또는 동일한 기능인 경우 사용

 

▶ 접근 지정(지시)자 (access modifier)

1. public

  → 모든 패키지에서 아무런 제한 없이 호출할 수 있게 한다.

2. protected

  → default 접근 제한과 마찬가지로 같은 패키지에 속하는 클래스에서 호출할 수 있도록 한다.
차이점은 다른 패키지에 속한 클래스가 해당 클래스의 하위 클래스라면 호출 할 수 있다.


3. default

  → 접근 제한자를 명시하지 않았다면 default 접근 제한을 가진다. 같은 패키지에서는 제한 없이 호출할 수 있으나, 다른 패키지에서는 호출할 수 없다.

4. private

  → 클래스 내부에서만 사용할 수 있다.

 

접근 지시자  같은 클래스 같은 패키지 하위 클래스 전체

public

O O O O

protected

O O O X

default

O O X X

private

O X X X