프로그래밍 언어/Java

[Java] 메소드 / 메소드 오버로딩

eunnys 2024. 1. 22. 15:10

메소드

  • 메소드는 클래스를 구성하는 요소로, 특정 기능을 수행하는 단위 프로그램이다.
  • 메소드는 해당 멧고드가 작업할 기능을 선언하고,
  • 메소드를 사용하기 위해서 호출(Method Call)을 하며,
  • 메소드의 사용이 종료되면 자신을 호출했던 쪽으로 제어의 흐름이 되돌아간다.

 

 

 

메소드를 구성하는 원칙

  • 두 번 이상 반복된느 코드는 메소드를 분리
  • 메소드는 하나의 업무만 할 수 있도록 작성한다.
  • 작업 단위는 가급적 잘게 쪼갠다.
  • 메소드 명은 이름만으로 해당 메소드의 업무를 유추할 수 있도록 직관적으로 작성하는 것이 좋다.

 

 

 

메소드의 작성

  • 자바의 메소드는 아래와 같이 선언한다.

 

 

 

 

 

 

메소드의 인수

  • 메소드의 인수는 Parameter와 Argument로 나눌 수 있는데,
  • Parameter(형식인수)는 메소드를 선언할 때 메소드 명의 괄호 안에 기입되는 지역변수를 말한다.
  • Argument(실인수)는 정의된 메소드를 호출해서 사용하는 쪽에서 전달하는 값응 의미.

 

 

 

 

 

 

메소드의 호출

 

 

 

 

 

인수 전달 방식

  • 자바에서 함수나 메서드에 매개 변수를 전달하는 방식에는 크게 두 가지가 있다.

① call by value

  • 함수나 메서드에 매개 변수로 전달되는 값을 복사하여 전달하는 방식
  • 메서드 내부에서 매개 변수의 값을 변경하더라도 메소드를 호출했던 원본 변수의 값은 병경되지 않는다.

 

② call by reference

  • 메소드에 매개 변수로 전달되는 변수의 주소를 전달하는 방식
  • 전달하고자 하는 값이 참조형일 때 메소드의 전달인자에서는 참조 값을 받기 위한 형태로 선언해야 한다.
  • 원본의 값이 변경될 수 있다.

 

 


메소드 오버로딩(Method Overloading)

  • 메소드 오버로딩(method overloading)이란 한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것을 말한다.
  • 메소드 오버로딩을 사용하면 같은 기능을 하는 메소드를 하나의 이름으로 통합하여 사용할 수 있다.

 

 

 

 메소드 오버로딩의 조건

  • 메소드의 이름이 동일해야 한다.
  • 매개변수의 개수 또는 데이터 타입이 달라야 한다.
  • 리턴 타입은 메소드 오버로딩과 상관 없다.
  • 접근지정자는 동일하거나 더 넓은 범위여야 한다.
  • 대표적인 예로 System.out.println()이 있다.

 

 

 


## 메소드 오버로딩

 

## 인수 전달 방식

 

 

## Sort를 메소드로 변경하기

 

## Score 클래스 생성

 

## ScoreTest(main) 생성

 

## Private Score 클래스 생성

 

## ScoreTest(main) 생성

 

## 문제

 

## 문제

'프로그래밍 언어 > Java' 카테고리의 다른 글

[Java] 가변인자 메소드  (0) 2024.01.23
[Java] 접근 지정자(Accessor)  (0) 2024.01.23
[Java] 객체  (0) 2024.01.22
[Java] 배열의 복사 (Deep Copy vs Swallow Copy)  (0) 2024.01.22
[Java] 다차원 배열  (0) 2024.01.19