반응형 Spec UP - Backend/나도코딩의 자바기본편58 Chap_06. Main Method 1. 인텔리제이 우측 상단의 [Current File] -> [Edit Configurations.. ] 클릭 2. 팝업 좌측 상단 + 클릭 -> [Application] 클릭 Name : Test Main class : 현재 테스트 중인 JAVA 클래스 선택 Program Arguments : 프로그램 실행 시 전달해줄 값 (Ex "테스트 전달값 입니다.") 위와 같이 설정 후 테스트해보자. * Main 메소드는 문자열로 구성된 배열로 선언되어있음. public static void main(String[] args) { } 우측 상단의 Current File -> Test로 변경된 것을 확인할 수 있다. for each 문을 통해 main 메소드 내 배열 args 를 출력하면 아래와 같이 출력된다. .. 2023. 4. 19. Chap_06. 변수의 범위(Scope) 메소드를 활용하게되면 변수의 사용범위가 중요해진다. 아래와 같이 main 영역 내에서 int number 변수를 선언 후 다른 메소드(methodA)에서 해당 변수(number)를 이용하려고 하면 오류가 발생된다. 다른 메소드에서 실행된 변수도 동일하다 method A에서 result 라는 변수를 선언 후 methodB, main 영역에서 해당 변수를 출력하면 오류가 발생된다. 위 예제에서 보이는 number, result와 같은 변수를 지역변수라고 한다. 지역변수는 해당 변수가 선언된 영역 내에서만 사용할 수 있는 변수이다. 지역변수는 변수가 선언된 중괄호 { } 내에서만 사용할 수 있다. 만약에 선언된 변수를 다른 메소드에서 쓰고 싶은 경우에는 아래와 같이 전달값을 이용해서 값을 전달받을 수 있도록 .. 2023. 4. 19. Chap_06. 메소드가 필요한 이유 기존에 학습했던 예제를 활용하여 메소드가 필요한 이유에 대하여 이해해보자. 2의 2승, 3의3승, 4의 2승을 구하는 예제를 아래와 같이 구현하였다. 이 때 계산하는 값만 달라질 뿐, 실제 실행하는 수식 자체는 동일하다. 이처럼 같은동작을 하는데 활용되는 값만 일부 다른 경우에 메소드를 활용하게 되면 여러번 반복되는 코드의 중복을 줄일 수 있다. 위의 예제를 메소드를 통해 구현하면 아래와 같이 코드를 간소화 할 수 있다. 위와 같이 코드를 간소화 하게되면, 가독성을 높이고 추후 코드 수정이 필요할때에도 하나의 메소드만 수정하면 되기 때문에 관리가 유리하다. 또한 메소드 내에서 다른 메소드를 호출할 수 있다. 메소드 오버로딩에서 학습한 예제를 통해 이해해보자. getPower(4) 를 실행하면 인수가 한개.. 2023. 4. 19. Chap_06. 메소드 오버로딩 이전시간에 학습한 거듭제곱을 계산하는 예제를 통하여 메소드 오버로딩에 대하여 이해해보자. getPower(int number) { return number * number; } 위 메소드를 호출하면 전달받은 인수 number값을 제곱하여 return 값을 반환한다. 위 사례의 경우 int 자료형으로 데이터가 선언되어있기 때문에 문자열로되어있는 숫자를 인수로 사용하는데 어려움이 있다. (Ex. "3", "45") 이를 해결하기 위하여 아래와 같이 문자열 숫자의 거듭제곱을 계산하기 위한 위한 메소드를 새로 생성한다고 생각해보자. public static int getPowerStr(String Number) { int number = Integer.parseInt(strNumber); //String -> .. 2023. 4. 18. Chap_06. 반환값(Return) 메소드 정의 반환값(return)이 없는 메소드일때 -> public static void 메소드명() { 실행할명령} 반환값이 있는 메소드 일때 -> public static String 메소드명() { 실행할 명령 } : 반환값이 있는 경우, 반환하려는 값의 자료형을 정의해야한다. 전달값(Parameter)와 반환값(Return)을 활용한 메소드 위 예시는 아래와 같은 순서로 동작한다. getPower(2) 메소드 호출 -> result = 2*2 -> result 반환 -> result 값을 retVal 변수에 저장 -> retVal 출력 2023. 4. 18. Chap_06. 메소드 (Method), 전달값(Parameter) 메소드는 어떠한 기능을 수행하는 코드들의 묶음이다.(Ex. 함수) public static void 메소드명() { 실행할 명령 } 의 형태로 메소드를 정의한다. 메소드명(); 의 형태로 메소드를 호출한다. 메소드는 위와 같이 매개변수(parameter)를 활용하여 실행할 수 있다. public static void 메소드명(데이터타입 매개변수명) { 실행할 명령 } 의 형태로 메소드를 정의한다. 매개변수가 있는 메소드를 호출할때에는 매개변수값을 입력해야한다. // 메소드명(매개변수값); 이때 입력한 매개변수값을 인수(Argument) 라고 한다. // ex) power(2); -> 인수 = 2 매개변수가 여러개인 경우 매개변수와 인수의 구분은 콤마( , )로 한다. ex) 메소드 정의 : public .. 2023. 4. 18. Chap_05. 배열을 활용한 사이즈 출력 Quiz 2023. 4. 14. Chap_05. 아스키 코드(ASCII) 아스키코드(ASCII) 미국 표준코드 문자 하나를 7bit로 표현, 총 128개의 문자표현 가능. 알파벳 대문자(A)는 65부터 시작, 소문자(a)는 97부터 시작, 숫자(0)는 48부터 시작 (int)변수이름 : 아스키코드로 변환가능. 아스키코드 활용 예시) '다차원 배열' 시간에 학습한 영화관 좌석 확인 코드는 아래와 같다 해당 코드에서는 반복되는 알파벳 나열에 대하여 수기로 데이터를 입력하여 배열을 생성하였다. String[] eng = {"A", "B", "C", "D" ... } 영화관 좌석 번호 확인 예제를 아스키 코드를 활용하여 구현한다면 아래와 같다. ASCII코드 A = 65 , B = 66 ... 으로 구성되어있으며, 알파벳 순서대로 +1씩 증가하는 규칙을 가지고 있다. 최초에 char.. 2023. 4. 14. Chap_05. 다차원배열(2차원배열)과 다차원 배열 순회 2차원 배열 String[][] 배열이름 = { {a,b,c}, {A,B,C} }; String 뒤에 [ ] 대괄호를 2쌍 입력하면 2차원 배열로 선언할 수 있다. 배열의 위치는 세로x가로 index 값을 기준으로 지정할 수 있다.(index는 0부터 시작) ex) seats[0][1] 은 "A2" // 첫번째열 두번째행 A1~C5 세로 3열 * 가로 5행 2차원배열 for (int i = 0; i < 3; i++) { //세로(열) 기준 for (int j = 0; j < 5; j++) { //가로(행) 기준 System.out.print(seats[i][j] + " "); } System.out.println(); } 위와 같이 반복문을 중첩하여 세로(열) * 가로(행)을 순회할 수 있다. 다차원 배.. 2023. 4. 13. Chap_05. 배열 / 배열순회 배열은 같은 자료형의 값 여러개를 저장하는 연속된 공간이다. 예시의 경우 사람별로 커피를 주문한다고 하였을때 변수를 이용하면 하나의 값만 저장이 가능하다. 배열을 활용하게 되면, 커피주문을 아래와 같이 할 수 있다. 배열 선언 방법 1. String[] 배열이름 = new String[배열크기] 2. String 배열이름[] = new String[배열크기] 1,2번 방법의 경우 배열을 생성 후 각 배열 공간에 데이터 저장 작업 필요.(배열은 0부터 시작) ex) coffees[0]="아메리카노"; coffees[1]="카페라떼"; 3. String[] 배열이름 = new String[] {"아메리카노", "카페라떼"}; 4. String[] 배열이름 = {"아메리카노", "카페라떼"} 3,4번 방법은 .. 2023. 4. 12. 이전 1 2 3 4 5 6 다음 반응형