Java 12(오버로딩)

Kang.__.Mingu·2024년 5월 2일
0

Java

목록 보기
14/108

문자열이 다른 매개변수를 입력받아 출력하는 메소드

	public void displayInt(int param) {
        System.out.println("정수값 = " + param);
    }

    public void displayBoolean(boolean param) {
        System.out.println("논리값 = " + param);
    }

    public void displayString(String param) {
        System.out.println("문자열 = " + param);
    }
  • 같은 기능으로 작동하지만 이름이 다르면 나중에 헷갈릴 수 있다.
    이럴 경우 메소드 오버로딩을 사용하면 된다.

오버로딩(Method overloading)

  • 클래스에서 동일한 기능을 제공하는 메소드가 매개변수에 의해 여러개 작성해야될 경우 메소드의 이름이 같도록 작성하는 기능
  • 메소드의 이름은 같지만 매개변수의 자료형 또는 갯수를 다르게 작성
  • 접근 제한자, 반환성은 메소드 오버로딩과 무관

오버로딩 클래스 작성

	public void display(int param) {
		System.out.println("정수값 = "+param);
	}
	
	public void display(boolean param) {
		System.out.println("논리값 = "+param);
	}
	
	public void display(String param) {
		System.out.println("문자열 = "+param);
	}

오버로딩 메서드 호출 클래스 작성

	Overload overload=new Overload();
		
	overload.displayInt(100);
	overload.displayBoolean(false);
	overload.displayString("홍길동");
	
	//메소드 호출시 매개변수에 잘못된 값을 전달할 경우 에러 발생
	//overload.displayInt(12.34);
	System.out.println("==============================================================");
	//메소드 오버로딩으로 작성된 메소드는 매개변수에 전달되는 값에 의해 메소드를 선택 호출
	// => 메소드 오버로딩에 의한 다형성		
    //다형성(Polymorphism) : 같은 이름의 메소드를 호출할 경우 상태에 따라 메소드를 선택 호출하는 기능
	// => 메소드 오버로딩, 메소드 오버라이딩
	overload.display(200);
	overload.display(true);
	overload.display("임꺽정");
	//전달받은 값에 대한 자료형의 매개변수가 없는 경우 메소드 호출시 에러 발생 
	//overload.display(12.34);
	System.out.println("==============================================================");
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글