오버로딩 (Overloading)

  • 같은 이름의 메소드를 여러 개 가지면서 매개변수의 개수나 타입을 다르게 하는 기술

public class Overloadingtest {

    // test에 매개변수로 int형 2개 호출
    void test(int a, int b){
        System.out.println("매개변수 "+ a + "와 " + b);
    }
   
    // test에 매개변수 double형 1개 호출
    void test(double d){
        System.out.println("매개변수 " + d);
    }
    
}
public class test {

    public static void main(String[] args) {
       
        // Overloadingtest 객체 생성
        Overloadingtest ob = new Overloadingtest();
        
        // test(int a, int b) 호출
        ob.test(10, 20);
        
        // test(double d) 호출
        ob.test(123.4);
        
    }
    
}

 

오버라이딩 (Overriding)

  • 상위 클래스의 메소드를 하위 클래스에서 재정의하여 사용

public class Employee{
    public String name;
    public int age;
   
    public void print(){
        System.out.println("사원의 이름은 "+this.name+ "이고, 나이는" + this.age+"입니다.");
    }   
}

// Employee 상속
public class Manager extends Employee{
    String jobOfManage;
   
    // print() 메소드 오버라이딩
    public void print(){
        System.out.println("사원의 이름은 "+this.name + "이고, 나이는" + this.age + "입니다.");
        System.out.println("관리자 "+this.name+"은 "+this.jobOfManage+" 담당입니다.");
    }
}

 

+ Recent posts