[Java 8-2 OverloadApp] 클래스를 사용하여 작성된 프로그램

임승현·2022년 10월 4일

Java

목록 보기
27/126
package oop;

public class Overload {
	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 Overload) : 하나의 클래스에 동일한 기능을 제공하는 
    메소드가 매개변수에의해 여러 개 선언하는 경우 같은 메소드의 이름을 같도록 선언하는 기능
	//=> 매개변수의 자료형 또는 갯수가 같지 않도록 선언
	//=> 접근 지정자와 반환형은 오버로드 선언과 무관
	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);
	}
}
package oop;

public class OverloadApp {
	public static void main(String[] args) {
		Overload overload=new Overload();
		
		overload.displayInt(100);
		//메소드 호출시 매개변수에 값을 잘못 전달한 경우 에러 발생
		//overload.displayInt(false);
		overload.displayBoolean(false);
		overload.displayString("홍길동");
		System.out.println("======================================================");
		
		//오버로드 선언된 메소드는 매개변수에 전달되는 값에 의해 메소드를 선택 호출
		//=> 메소드 오버로드에 의한 다형성
		//다형성(Polymorphism) : 같은 이름의 메소드를 호출할 경우 상태에 따라
        메소드가 선택 호출되는 기능
		//=> 메소드 오버로드, 메소드 오버라이드
		overload.display(200);
		overload.display(true);
		overload.display("임꺽정");
		//전달된 값에 대한 자료형의 매개변수가 없는 경우 에러 발생
		//overload.display(12.34);
		System.out.println("======================================================");
	}
}

0개의 댓글