본문 바로가기
자바

[자바]오버로딩

by 소금_msg 2021. 10. 10.

생활코딩에서 오버로딩 개념을 복기하려고 포스팅.

 

우리는 매개변수를 왜 써야할까?

예를들어 매개변수의 수에 따라서 메소드 명이 달라지게 되는건 효율적이지 못하다.

 

//원래 메소드

c1.setOprands();

//매개변수가 2개일때

c1.setOprands2(10,20);

//매개변수가 3개일때

c1.setOprands3(10,20,30);

 

 

그럴때는 메소드 이름은 같게하고 매개변수의 수만 다르게 해주면된다.

이것을 메소드 오버로딩이라고 한다.

  class Calculator{
  int left, right;
  int third = 0;


  public void setOprands(int left, int right){
  System.out.printLn(“setOprands(int left, int right)”);
  this.left= left;
  this.right=right
}

  //메소드 오버로딩
  public void setOprands(int left, int right, int third){
  System.out.printLn(“setOprands(int left, int right, int third)”);


  this.left= left;
  this.right=right;
  this.third=third;
}
  //합을 구하는 메소드
  public void sum(){
  }
}
  //오버로딩한 메소드 호출하기
  public static void main(String[] args){
  Calculator c1= new Calculator();


  c1.setOprands(10,20);
  c1.sum(); //10,20의 합을 구함


  c1.setOprands(10,20,30);
  c1.sum(); //10,20,30의 합을 구함

}

 

그렇다. 메소드 오버로딩 매개변수의 이용을 편리하기 위한 도구이다.

매개변수가 다르면 이름이 같아도 서로 다른 메소드가 되는 원리이다.

하지만 매개변수의 타입과 리턴타입이 다르면 안된다. 

즉 오버로딩이 되려면 매개변수의 타입과  리턴타입이 같아야한다.

매개변수의 개수도 같게 만들어야한다.

인풋과 아웃풋을 같게 만들어야 오류를 피할 수 있다. 

 

 

출처: 생활코딩

https://opentutorials.org/course/1223/6088

'자바' 카테고리의 다른 글

[java]LinkedList  (0) 2021.12.02
Hashmap 관련함수  (0) 2021.11.24
[자바] 메소드 개념 이해하기  (0) 2021.10.09
[자바]클래스의 상속관계 확인하기  (0) 2021.10.07
[자바]Stream(스트림)  (0) 2021.10.05