ejyoo's 개발 노트

오버로딩과 오버라이딩 본문

용어 사전/Java

오버로딩과 오버라이딩

ejyoovV 2021. 3. 3. 10:38
  • 오버로딩(Overloading) : 같은 이름의 메서드를 여러개를 가지면서 매개변수의 유형과 개수가 다름
  • 오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용

  • 🤜🏻오버로딩(Overloading)

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

    같은 이름의 메서드를 여러개 정의하고 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답한다.

    class OverloadingTest{
        //이름이 cat인 메서드
        void cat(){
            System.out.println("매개변수 없음");
        }
        
        //매개변수 int형이 2개인 cat 메서드
        void cat(int a, int b){
            System.out.println("매개변수 :"+a+", "+b);
        }
        
        //매개변수 String형이 한 개인 cat 메서드
        void cat(String c){
            System.out.println("매개변수 : "+ c);
        }
        
    }
    
    
    
  • 🤜🏻오버라이딩(Overriding)

    상속 시 상위 클래스가 가지고 있는 메서드를 하위 클레스가 상속받아 사용할 수 있고

    하위 클래스에서 메서드를 재정의 해서 사용할 수 있음.

    메서드의 이름이 같고 매개변수가 같고 반환형이 같을 때 상속받은 메서드를 덮어쓴다.

    부모 클래스의 메서드는 무시하고 자식 클래스의 메서드 기능을 사용하겠다.

    class Woman{ //부모클래스
        public String name;
        public int age;
        
        //info 메서드
        public void info(){
            System.out.println("여자의 이름은 "+name+", 나이는 "+age+"살입니다.");
        }
        
    }
     
    class Job extends Woman{ //Woman클래스(부모클래스)를 상속받음 : 
     
        String job;
        
        public void info() {//부모(Woman)클래스에 있는 info()메서드를 재정의
            super.info();
            System.out.println("여자의 직업은 "+job+"입니다.");
        }
    }
    
    
    

'용어 사전 > Java' 카테고리의 다른 글

AWT  (0) 2021.05.27
오토박싱과 오토언박싱  (0) 2021.03.03