ex) 믹서기 = 메소드 , 넣을 과일들 = 입력값 , 만들어진 쥬스 = 리턴값
메소드가 하는 일 - 입력을 가지고 어떤 일을 수행한뒤 결과를 내는 것
메소드가 필요한 이유 - 반복하는 내용을 줄이기 위해,편하게 쓰기위해
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class Test { public int sum(int a, int b) { return a+b; } public static void main(String[] args) { int a = 3; int b = 4; Test myTest = new Test(); int c = myTest.sum(a, b); System.out.println(c); } } | cs |
메소드의 종류
메소드 안의 내용은 main에 넣으면된다.
- 입력과 출력이 모두 있는 메소드
1 2 3 | public int sum(int a, int b) { return a+b; } | cs |
- 입력과 출력이 모두 없는 메소드
1 2 3 4 5 6 7 | public String say() { return "Hi"; } Test myTest = new Test(); String a = myTest.say(); System.out.println(a); | cs |
- 입력은 없고 출력은 있는 메소드
1 2 3 4 5 | public void sum(int a, int b) { System.out.println(a+"과 "+b+"의 합은 "+(a+b)+"입니다."); } Test myTest = new Test(); myTest.sum(3, 4); | cs |
- 입력은 있고 출력은 없는 메소드
1 2 3 4 5 | public void say() { System.out.println("Hi"); } Test myTest = new Test(); myTest.say(); | cs |
return의 다른 쓰임새 메소드를 빠져나갈때
이 방법은 리턴자료형이 void형인 메소드에만 해당된다.
1 2 3 4 5 6 | public void say_nick(String nick) { if ("fool".equals(nick)) { return; } System.out.println("나의 별명은 "+nick+" 입니다."); } | cs |
메소드 내에서 선언된 변수의 효력 범위
1 2 3 4 5 6 7 8 9 10 11 12 | class Test { public void vartest(int a) { a++; //return a; } public static void main(String[] args) { int a = 1; Test myTest = new Test(); myTest.vartest(a); System.out.println(a); } } | cs |
메소드는 입력받은 값을 1씩 증가시켜주는데, 메소드에서 선언된 변수는 메소드 안에서만 효력이 있기 때문에 main의 값은 그대로 1이 출력된다.
메소드의 ++된 값을 받고싶다면 주석되어있는 return을 풀어주면된다.
728x90
'풀스택 > Java다시 복습 처음부터' 카테고리의 다른 글
java 복습 3-3(객체지향 프로그래밍) - 상속, 오버라이딩 (0) | 2019.06.06 |
---|---|
java 복습 3-3(객체지향 프로그래밍) - Call by value (0) | 2019.06.06 |
java 복습 3-1(객체지향 프로그래밍) - class (0) | 2019.06.04 |
java 복습 2(제어문) java if문,for문,switch문,while문,for each문 (0) | 2019.06.03 |
java 복습 1(문자열, 배열(String),List,제네릭스<>,맵) (0) | 2019.06.02 |
댓글