1. Call by Value 값에 의한 호출이라고도 하며, 함수 호출 시 인자로 값을 전달한다. 함수 내부에서 인자 값이 변경되어도 호출한 쪽에는 영향을 주지 않는다.. 호출한 쪽에서 전달한 값의 복사본이 함수 내부에서 사용되기 때문이다. 2. Call by Reference 참조에 의한 호출이라고도 하며, 함수 호출 시 인자로 변수의 주소를 전달한다. 함수 내부에서 인자 값이 변경되면 호출한 쪽에서도 그 변경된 값이 반영된다. 호출한 쪽에서 전달한 변수의 주소가 함수 내부에서 사용되기 때문이다. Call by Value 예시코드 Void abc(int a){ a = 10; } public static void main(String[] args) { int a = 5; abc(a); System.out..
소스코드 package Day12; import java.util.Random; public class Q3 { // 주고 안받고 static int makeRandom() { Random r = new Random(); return r.nextInt(26); } // 주고 받고 static int intSum(int r) { return 65 + r; } // 주고 받고 static char makeChar(int result) { return (char)result; } // 안주고 안받고 static void run() { String result = ""; for(int i = 0;i

소스코드 package Day12; import java.util.Scanner; public class Q2 { static int[] input() { Scanner sc = new Scanner(System.in); int [] a= new int[2]; System.out.print("1.가로 : "); a[0] = sc.nextInt(); System.out.print("2.세로 : "); a[1] = sc.nextInt(); return a; } static int rect(int[] array) { return array[0] * array[1]; } static void tri(int[] array) { System.out.println("삼각형 넓이 : "+(array[0]*array[1..
소스코드 package Day12; import java.util.Scanner; public class Q1_1 { static int add(int a, int b) { return a + b; } static void minus(int a, int b) { System.out.println("결과값 : "+(a-b)+" 입니다."); } static int mul() { Scanner sc = new Scanner(System.in); int[] array =input(sc); return array[0] * array[1]; } static void div() { Scanner sc = new Scanner(System.in); int[] array =input(sc); System.out.pri..

package Day12; import java.util.Scanner; public class Q1 { // 지금 받는 값이 없으니까, static int temp1; static int temp2; // 곱하기에서 값을 받을 수가 없으니 활용할 수 있는 방법은 두 가지 // 스태틱을 만들어서 쓰거나 아예 입력을 위로 빼거나 / 여기선 1번 방법을 사용함. // 더하기연산 1. 주고받고 (리턴값O, 매개변수O) static int add(int a, int b) { return a + b; } // 빼기 연산 3. 안주고 받고 (리턴값x, 매개변수O) static void minus(int a, int b) { System.out.println("결과값 : "+(a-b)+" 입니다."); //num1과..

이 코드는 다음과 같은 실행 순서와 출력 값을 가지게 됩니다: Main() 함수가 호출되어 a() 함수가 실행됩니다. a() 함수 내부에서 b() 함수가 호출되어 실행됩니다. b() 함수 내부에서 c() 함수가 호출되어 실행됩니다. c() 함수 내부에서 d() 함수가 호출되어 실행됩니다. d() 함수 내부에서 e() 함수가 호출되어 실행됩니다. e() 함수에서는 문자열 "E"가 출력됩니다. d() 함수로 돌아와서 "D"가 출력됩니다. c() 함수로 돌아와서 "C"가 출력됩니다. b() 함수로 돌아와서 k() 함수가 호출되어 실행됩니다. k() 함수 내부에서는 문자열 "A"가 출력됩니다. b() 함수에서는 문자열 "B"가 출력됩니다. a() 함수로 돌아와서 k() 함수가 호출되어 실행됩니다. k() 함수 ..
대소비교하기 코드 package Day11; import java.util.Scanner; public class MethodTest2 { //1. 두수를 입력 static int input() { //2번.주고 안받고 // 입력 객체 Scanner sc = new Scanner(System.in); // 입력 값 리턴 System.out.print("숫자 입력 : "); int num = sc.nextInt(); return num; } //2. 대소비교 //3. 출력 static void compare(int a, int b) { //3번.안주고 받고 if(a > b) { System.out.println("앞에 값이 더 큽니다."); } else if(a == b) { System.out.print..
아마 static 변수와 값 변화에 대해 알려주시고 싶었던 듯한 예제 원래 코드 package Day11; public class MethodTest1 { static int a = 10; //전역변수 static void abc() { int a = 30; a = 20; // 4. 안주고 안받고 인데, 이 메소드 내부에 출력문 자체가 없으므로 아예 무출력 } static void kor() { System.out.println(a); } public static void main(String[] args) { // TODO Auto-generated method stub int a = 20; abc(); // 별 의미가 없음. 리턴값이 없으니 출력 자체도 안 됨. System.out.println(a)..