Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Spring MVC
- 피그마
- GET방식
- xml
- 요구사항정의서
- JSON형식의 response
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194711
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194709&category=questiondetail&tab=community&q=1314387
- Forwarding
- 다형성 #부모타입 #자식타입
- 매핑 #
- Servlet
- 화면정의서
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194690
- Request
- sendRedirect
- 한글깨짐
- POST방식
- Break
- CONTINUE
- Dispatcher
- while문
- 김영한
- 톰캣
- WAS
- webserver #WAS #ServerApp
Archives
- Today
- Total
Step it up now
메서드 호출, 값 전달 본문
public class Method2 {
public static void main(String[] args){
printHeader();//1. 매서드 작동!
System.out.println("프로그램이 동작합니다");
printFooter();
}
public static void printHeader() { //매개변수 없어서 그냥 호출되고
System.out.println(" = 프로그램을 시작합니다 = ");//실행 후 종료
return;//main으로 리턴
}
public static void printFooter() {
System.out.println(" = 프로그램을 종료합니다 = ");
}
}
📢 메서드 호출이 끝나면 더이상 해당 메서드가 사용한 메모리를 낭비할 이유가 없다
매서드 정의에 사용한 파라미터 변수인 int a, int b와 그 안에서 정의한 int sum도 모두 제거된다
public class Method1Ref {
public static void main(String[] args){
//계산1
int sum1 = add(5, 10);
System.out.println("결과1 출력:" + sum1);//4
//계산2
int sum2 = add(15, 20);
System.out.println("결과2 출력:" + sum2);//8
}
//add 메서드
public static int add(int a, int b) {
System.out.println(a + "+" + b + "연산 수행"); // 실행 순서1// 순서5
int sum = a + b;//2 //6
return sum;//3 //7
}
}
public class MethodValue0 {
public static void main(String[] args) {
int num1 = 5;
//num1의 값을 복사해서 num2에 넣는 것
//복사한다고 표현하는 이유는 num1의 값을 읽어도 num1에 있는 기존값이 유지되고
//새로운 값이 num2에 들어가기 때문이다, num1 변수 자체가 num2에 들어가는 게 아니다
//num1에 들어있는 값을 읽고 복사해서 num2에 넣는 것이다.
int num2 = num1; //num 1=5, num2=5
num2 =10; //num2에 10이됨
System.out.println("num1=" + num1);
System.out.println("num2=" + num2);
}
}
public class MethodValue1 {
public static void main(String[] args) {
int num1 =5;
System.out.println("1. changeNumber 호출 전, num1: " + num1);
changeNumber(num1); //5의 값을 복사해서 num2에 전달 ★★
//num2의 값이 바뀌더라도 num1의 값에는 영향X
System.out.println("4. changeNumber 호출 후, num1: "+ num1);
}
public static void changeNumber(int num2){ //num2=num1 = 5 // 5가 넘어옴 //
System.out.println("2. changeNumber 변경 전, num2: "+ num2);
num2 = num2 * 2; //5*2 =10 ==> 10은 num2에 들어감
System.out.println("3. changeNumber 변경 후, num2 " + num2); //10
}
}
public class MethodValue2{
//main()도 메서드이다. 각각의 메서드 안에서 사용하는 변수는 서로 완전히 분리된 다른 변수임
//이름이 같아도 완전히 다른 변수다
//main()의 number와 changeNumber()의 number는 서로 다른 변수이다
public static void main(String[] args) {
int number=5;
System.out.println("1. changeNumber 호출 전, number: " + number);
changeNumber(number);
System.out.println("4. changeNumber 호출 후, number: "+ number);
}
public static void changeNumber(int number){
System.out.println("2. changeNumber 변경 전, number: "+ number);
number = number * 2; //5*2 =10 ==> 10은 num2에 들어감
System.out.println("3. changeNumber 변경 후, number " + number);
}
}
public class MethodValue3 {
//main()도 메서드이다. 각각의 메서드 안에서 사용하는 변수는 서로 완전히 분리된 다른 변수임
//이름이 같아도 완전히 다른 변수다
//main()의 number와 changeNumber()의 number는 서로 다른 변수이다
public static void main(String[] args) {
int num1=5;
System.out.println("1. changeNumber 호출 전, num1: " + num1);
num1 = changeNumber(num1); //11번 10 리턴받음
System.out.println("4. changeNumber 호출 후, num1: "+ num1); // num1 = 10이 됐음
}
public static int changeNumber(int num2){
num2 = num2 * 2;
System.out.println(num2); //10
return num2; //10을 리턴
}
}
public class MethodReturn1 {
public static void main(String[] args) {
boolean result = odd(2);
System.out.println(result); //false
}
public static boolean odd(int i) {
if(i % 2 == 1) { //false //void 아니라서 boolean이면 return type 꼭 반환해줘야함
return true;
}else{
return false;
}
}
}
'개인공부 > java' 카테고리의 다른 글
스코프 (0) | 2024.03.31 |
---|---|
if문 (1) | 2024.03.19 |
인터페이스 (1) | 2023.12.17 |
추상메서드/ 추상클래스 (0) | 2023.12.12 |
오버라이딩(overriding) (0) | 2023.12.04 |