ABOUT ME

-

오늘
-
어제
-
-
  • KOSTA 교육 4일차(Method, 배열)
    Review 2020. 6. 20. 20:53

    18.11.1(목)

     

    배운 내용

    • 메소드(Method)
    • 배열(Array)

     


    1. Method(메소드)

    메소드는?

    클래스 내에 존재하는 함수를 말한다.
    여기서 메소드의 특징으로는,

    • 중복된 코드를 최소화 하는 효과가 있다
    • 유지보수가 수월해진다.
    • 메소드 이름을 통해 메소드를 호출한다.
    • 변수 = 메소드이름(파라미터1, 파라미터2, 파라미터3); 형식이다.

     

    메소드를 생성시 가장 주의할 점으로는

    • 호출시 파라미터의 데이터를 일치시켜야한다.

     

    메소드 예시를 보면서 공부해보자

     

    • 어떠한 정수 2개를 더하기 위한 예시로서 int를 사용하여 add라는 메소드이름 그리고 2개의 정수 파라미터를 설정하였다.
    • sum 변수를 추가하여 두개의 정수 파라미터를 더하기 실행해준다.
    • 이 sum값을 리턴한다.
    • main메소드에서 이 값을 출력하기위해 result 변수를 실행하고 더하기연산을 진행하여 결과값을 도출한다. 값은 7

     

    • 각 과목별 점수를 키보드로 입력을 받아야 하기 때문에 main메소드에 먼저 스캐너를 통해 입력값 실행을 한다.
    • 총점과 평균을 구하기 위해 각각 add, avg 정수 메소드를 만들고 각 과목 파라미터를 설정한다.
    • 변수를 설정 후 연산식을 대입해준 후 리턴한다.
    • main메소드에 add, avg 출력을 위한 변수를 선언하고 add, avg와 파라미터 변수값을 실행하여 출력한다.

     

    • 키보드로 입력받아야 하기 때문에 Scanner를 사용한다. getInput을 사용하여 출력할 예정이기 때문에 num변수를 리턴한다.
    • 총점을 구하기 위해 getTotal메소드를 사용하여 리턴, 평균은 getAverage메소드를 사용하여 리턴한다.
    • main메소드에서 해당 변수를 0으로 추가하고 호출할 과목을 getInput로 호출한다
    • 총합, 합계 변수를 메소드, 파라미터를 적용하여 출력값을 출력한다.

    2. 배열

    배열은?

    여러개의 데이터 값을 하나의 데이터로 모아 사용한다.
    배열의 특징

    • 많은 변수들을 하나의 변수로 해결할 수 있다.
    • 주소값이 있다면 언제든 그 주소를 사용할 수 있다.
    • reference = 참조 = 주소값
    • [] -> 배열을 의미

     

    배열의 단점

    • 한가지의 데이터타입 밖에 넣을 수 밖에 없다.
    • 한 번 생성 하면 더 이상 늘어나지 않는다.

     

    예시를 보며 배열을 공부해보자

     

    • 배열을 선언할 때의 종류는 3가지가 있다.
    • 향상된 for문을 이용하여 배열을 출력할 수 있다.
    • 배열을 풀이할 시 4단계에 나누어서 풀이하면 수월하게 풀이가 가능하다.

     

    • arr[] 배열에 9라는 주소값을 실행하였다.
    • for문을 이용하여 i 변수를 0으로 실행한다. i의 조건값을 arr.length로 실행한다. 여기서 length는 arr의 크기를 말한다.
    • 여기서 arr[i] arr배열의 순서를 나타낸다. 예를들어 arr[0]은 첫 번째이고 arr[6]은 일곱 번째이다.
    • 0부터 시작할 때 7 * 1이 나와야하기 때문에 i에 1을 더하고 실행한다.

     

    • 사람 수, 키를 입력하기 위해서 변수 2개를 실행한다.
    • 사람 수를 입력해야 하므로 Scanner를 이용하여 값을 입력한다.
    • 입력한 사람 수대로 키를 입력하기 때문에 for문을 사용하여 반복한다.
    • 추가로 최대값을 구할 maxOf를 만들어 새로운 maxkey 변수를 실행한다.
    • 변수를 최대값으로 리턴하여 출력해야하기 때문에 for문을 사용하여 최대값을 구하기 위해 if문을 추가하였다.
    • 리턴하여 key변수로 최대값을 호출하고 출력한다.

     

    • 5가지의 int배열을 생성, 3가지의 String배열을 생성한다.
    • for문을 이용하여 국어, 영어, 수학이 반복될 수 있도록 실행한다.
    • score[3]은 총점이기 때문에 score[2]까지 전부 더해주면 총점이 된다.
    • 총점을 출력하고 score[4]는 평균이므로 score[3]을 3으로 나누어주면 값이 도출된다.

    오늘 교육 간 느낀점

    메소드 자체만으로도 굉장히 헷갈리고 난해 했지만 배열을 배우고 메소드를 추가로 적용하니 머리속은 혼란해지고 정신은 멍해졌다.. 정말 제대로 이해한 예제가 없었고 기본 개념도 머리속이 복잡해서 계속 중구난방으로 퍼져 적용이 안됐다. 내 나름대로 정리를 하면서 공부하고 다시 풀어보고 있는데 아직 익숙하지 않아서인지 쉽지가 않다. 하지만 하나도 몰랐던 내가 계속 발전하고 있다는 것은 사실이다.
    지금보다 더 노력하는 내일이 되어야겠다.

    댓글