728x90

※ 오버로딩 / 오버로드

 - 같은 이름의 메서드 혹은 생성자를 파라미터 개수나 파라미터 타입을 다르게 하면 사용할 수 있는 기술이다.

 - 메서드 오버로딩과 생성자 오버로딩이 있다.

 

 1. 메서드 오버로딩

public class Main {
    int solution(int a, int b) { // 첫번째 기준 메서드
        return a+b;
    }

    int solution(int a, String str) { // 파라미터 타입이 다름
        return a;
    }

    int solution(int a, int b, int c) { // 파라미터 개수가 다름
        return a+b+c;
    }
    
    public static void main(String[] args) {
    	solution(1,2);
        solution(1,"TEST");
        solution(1,2,3);
    }
}

 2. 생성자 오버로딩

public class Company {
	
	public int employeeNumber;
	public String employeeName;
	public String addr;
	
	public Company(int id, String name) {
		employeeNumber = id;
		employeeName = name;
	}
	
	public Company(String name) { //파라미터 개수가 다름
		employeeName = name;
	}
 }

※ 오버라이딩 / 오버라이드

 - 상속관계에 있는 클래스 간에 같은 이름의 메서드를 재정의하는 기술이다.

 - 주로 interface ~ implements 문에서 자주 사용되기 때문에 예시를 코드를 작성하겠다.

 

1. interface

public interface studyInterface {
    // 상수선언
    public static final int MaxNum = 10;
    public int minNum = 0;

    // 추상메소드 선언
    public void entrance();
    public void exit();

}

2. implements

public class StudyImplements implements studyInterface {

    @Override
    public void entrance() {
        System.out.println("입구입니다.");
    }

    @Override
    public void exit() {
        System.out.println("출구입니다.");
    }

}

 

728x90
TOP