백엔드21 [Java]#19 Method 오버로딩 1_메서드 오버로딩 메서드의 이름이 같고 매개변수가 다른 메서드를 여러개 정의하는 것을 메서드 오버로딩이라 한다. 예) add( int a, int b) / add( double a, double b) 2_오버로딩 규칙 메서드의 이름이 같아도 메개변수의 타입과 순서가 다르면 오버로딩을 할 수 있다. 단, 반환 타입은 인정하지 않는다. 예) int add( int a. int b) / int add( int c, int d) / double add( int a, int b) 3_메서드 시그니처 = 메서드 이름 + 매개변수 타입(순서) package method; public class OverLoding1 { public static void main(String[] args) { System.out.pr.. 2023. 12. 20. [Java]#18 Method와 형변환 1_명시적 형변환 package method; public class MethodCasting1 { public static void main(String[] args) { double number = 1.5; // printNumber(number); 오류 : 더블을 인트에 넣을 수 없다 printNumber((int) number); // 명시적 형변환을 통해 더블을 인트로 형변환 // 숫자 : 1 } public static void printNumber(int n) { System.out.println("숫자 : " + n); } } - 실수 double을 정수 int에 넣을 수 없다. 따라서 호출할때 (int)를 넣어 명시적으로 형변환을 해야한다. * int < long < double 자동 형.. 2023. 12. 20. [Java]#17 Method 호출과 값 전달 *자바는 항상 변수의 값을 복사해서 대입한다. package method; public class MethodValue0 { public static void main(String[] args) { int num1 = 5; System.out.println("1.변경 전 num1 = " + num1); //1.변경 전 num1 = 5 changeNumber(num1); System.out.println("4.변경 후 num1 = " + num1); //4.변경 후 num2 = 5 } public static void changeNumber(int num2) { System.out.println("2.변경 전 num2 = " + num2); //2.변경 전 num2 = 5 num2 = num2 * 2; S.. 2023. 12. 20. [Java]#16 Method 반환 타입 1_반환 타입 반환 타입이 있으면 메서드는 반드시 return을 사용해서 값을 반환해야 한다. package method; public class Method3 { public static void main(String[] args) { boolean result = odd(6); System.out.println(result); // false } public static boolean odd(int i) { if (i % 2 == 1) { return true; } return false; } } *if 밖의 return false;가 없으면 if조건이 만족하지 않은 경우 return문의 누락으로 컴파일 오류가 난다. *문제 : 다음 로직을 수행하는 메서드를 만들어보자 (18살 미만 : 출입불가, 1.. 2023. 12. 20. [Java]#15 Method 메서드 정의 : 제어자 반환타입 메서드이름 (매개변수 목록){ 본문 } package method; public class Method2 { public static void main(String[] args) { printHead(); // 프로그램을 시작합니다. } public static void printHead (){ System.out.println("프로그램을 시작합니다."); return; } } - 제어자 : public static - 반환 타입 : 메서드가 실행 된 후 반환하는 데이터의 타입을 지정, 반환 타입 없는 경우 void 사용 - 메서드 이름 : 메서드를 호출하는데 사용되는 이름 - 매개변수 : 메서드 내부에서 사용할 수 있는 변수, 필요 없는 경우 지정하지 않아도 된다. (.. 2023. 12. 20. [Java]#14 향상된 For 1_For-each문 - 기본 형태 package array; public class EnhancedFor1 { public static void main(String[] args) { for (변수 : 배열 또는 컬렉션){ // 배열 또는 컬렉션의 요소를 순회하면서 수행할 작업 } } } 예) package array; public class EnhancedFor1 { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; // 일반 for문 for (int i = 0; i < numbers.length; i++) { int number = numbers[i]; System.out.print(number); } // 12345.. 2023. 12. 18. [Java]#13 배열(2차원) 1_2차원 배열 package array; public class ArrayDi0 { public static void main(String[] args) { // 2x3 2차원 배열을 만든다. int[][] arr = new int[2][3]; // 행2, 열3 arr[0][0] = 1; // 0행 0열 arr[0][1] = 2; // 0행 1열 arr[0][2] = 3; // 0행 2열 arr[1][0] = 4; // 1행 0열 arr[1][1] = 5; // 1행 1열 arr[1][2] = 6; // 1행 2열 // 0행 출력 System.out.print(arr[0][0] + " "); // 0행 0열 System.out.print(arr[0][1] + " "); // 0행 1열 System.ou.. 2023. 12. 18. [Java]#12 배열(1차원) 1_1차원 배열 package array; public class Array1Ref1 { public static void main(String[] args) { int[] students; // 배열 변수 선언 students = new int[5]; // 배열 생성 System.out.println(students); // 참조값 [I@4eec7777 // 변수 값 대입 students[0] = 90; students[1] = 80; students[2] = 70; students[3] = 60; students[4] = 50; // 변수 값 사용 System.out.println("student1 = " + students[0]); System.out.println("student2 = " + st.. 2023. 12. 18. [Java]#11 Scanner 1_Scanner package scanner; import java.util.Scanner; public class Scanner1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("문자열을 입력하세요: "); String str = scanner.nextLine(); // 입력을 String으로 가져온다. System.out.println("입력한 문자열: "+str); System.out.print("정수를 입력하세요: "); int intValue = scanner.nextInt(); System.out.println("입력한 정수: "+intValue); Syst.. 2023. 12. 16. 이전 1 2 3 다음