[JAVA] 메소드

이가영·2023년 12월 27일
0

JAVA

목록 보기
11/12

메소드

  • 어떤 기능을 하는 코드들의 묶음 (=함수와 유사)


전달값

  • 거듭제곱을 계산해주는 메소드


반환값

  • 메소드를 수행했을 때 메소드 내에서 동작들을 수행하고 끝내는 게 아니고, 어떤 값을 반환해주고 메소드를 호출한 곳에서 반환된 값을 받아서 뭔가를 처리함

  • 특정 호텔 정보를 관리하는 프로그램

메소드 동작을 수행하고 나서 반환해 줄 자료형 또는 그 형태를 적어주면 된다.
-> void라고 적는 이유는 반환값이 없는 메소드라는 의미
void : 아무런 값을 반환하지 않는 메소드

호텔 전화번호라는 문자열 형태의 값을 반환하기 위해서는 void 대신에 string을 적어줘야 함


전달값과 반환값


메소드 오버로딩

  • 이름이 같은 메소드를 여러 개 만드는 것

getPower(String strNumber)

문자열을 정수로 바꿔주는 작업을 함

Integer.parseInt(strNumber);

  • 숫자형의 문자열을 인자값으로 받으면 해당 값을 10진수의 Integer 형으로 반환

-> 메소드 오버로딩은 전달값의 타입이 다르거나 전달값의 자료형이 다르거나 또는 전달값의 개수가 다르면 똑같은 이름의 메소드를 얼마든지 중복해서 선언할 수가 있다.

-> 반환형이 다른 형태로는 메소드를 중복정의 할 수 없다.


메소드가 필요한 이유

  • 비슷한 동작을 하는 것 또는 같은 동작을 하는데 값만 조금 바뀐다고 하면 이런 부분을 메소드로 만들어 가지고 코드를 간소하게 하면 또 다른 데서도 이 메소드가 필요하다고 할 때 그 메소드만 호출하면 된다. 또 수정이 필요하다고 하면 그 메소드 내에 있는 코드 딱 한 번만 수정하면 되기 때문에 코드 유지 보수를 할 때 굉장히 용이하다.

  • 메소드 내에서도 또 다른 메소드를 호출할 수 있다.


변수의 범위 (Scope)

  • 지역 변수는 이 변수가 선언된 그 영역 내에서만 사용할 수 있는 변수이다. 그래서 여기에서는 지금 method b 내에서 중괄호 열고 닫고 안에서 이게 선언이 되었다. 그러면 이 중괄호 속에서만 쓸 수 있게 되는 것이다. 여기를 벗어나게 되면 다른 곳에서는 쓸 수가 없다.
    -> number, result는 지역변수

  • 넘버도 중간으로 열고 닫고 여기에서만 쓸 수 있다.

-> 만약에 여기에서 만든 변수를 다른 곳에서 쓰고 싶다고 하면은 전달값을 이용해 인트, 넘버 이런 식으로 전달값을 정의를 해주고 매소드를 호출할 때 그 값을 전달하는 식으로 사용할 수 있다.


Main 메소드

  • 우리가 지금까지 써왔던 메인 영역은 사실은 하나의 메소드인 거고 이 메소드는 문자열을 여러 개 가지고 있는 string 배열을 전달값으로 받는 메소드이다.

string 값을 전달 받는 방법?

프로그램을 실행할 때 전달해주는 값이 될 수 있는데 이거를 한번 정의해 보자.

Current 파일(오른쪽 위) -> Edit Configurations -> +클릭(왼쪽 위) -> 어플리케이션 선택 -> name에 test라고 적음 -> 빨갛게 표시된 main class(우리가 지금 실행할 클래스를 정해 줌) 선택 -> program argument(프로그램을 실행할 때 우리가 전달해주는 전달값이 된다.)클릭 -> 테스트 전달값 입니다 작성 - 오른쪽 위가 원래는 current file이었는데 지금은 Test로 바뀜

  1. edit configurations들어가서 "테스트 전달값 입니다"를 빼고 1을 입력한다.

  2. edit configurations들어가서 "1"를 빼고 2을 입력한다.

  3. edit configurations들어가서 "2"를 빼고 3을 입력한다.

  4. 만약 4를 입력한다면...

  5. 1, 3 둘 다 입력한다면...

  • 이런식으로 메인 메소드를 호출할 떄도 프로그램이 처음 실행될 때도 Edit 컴퓨레이션을 통해 어떤 값을 전달해서 똑같은 소스코드이지만 입력되는 값에 따라서 특정 기능을 서로 다르게 수행하도록 할 수 있다.

Quiz

Q. 개인 정보 중 일부를 비공개로 전환하는 프로그램을 작성

조건

  • 개인정보를 비공개로 전환하는 메소드 작성
  • 하나의 메소드에서 모든 동작 처리
  • 각 정보는 아래 위치부터 비공개 적용

profile
gy’s portfolio

0개의 댓글