티스토리 뷰

개발/Java

오버로딩, 오버라이딩

욱스다 2022. 9. 4. 16:35

 

overloading: 기존에 없는 새로운 method를 정의하는데 같은 이름을 가지는 함수를 정의하는것

public class Main {
    public static void main(String[] args) {
        // write your code here

    }

    int add(int x, int y, int z) {
        return x + y + z;
    }

    int add(int a, int b) {
        return a + b;
    }
    // type 순서 개수만 봄 x y z , a b c 라고하면 타입이 long 타입이여도 안됨

}
 

overriding: 부모에 있는 똑같은 함수를 자식이 구현해서 부모의 함수를 쓰지않음

class Animal{
    String name;
    String color;

    public Animal(String name) {
        this.name = name;
    }

    public void cry() {
        System.out.println(name + " is crying.");
    }
}

class Dog extends Animal{
    public Dog(String name) {
        super(name);
    }
    @Override
    public void cry(){
        System.out.println(name + " is barking.");
    }
}

public class Main {
    public static void main(String[] args) {
        // write your code here
        Animal dog = new Dog("나리");
        dog.cry();
    }

}

// 결과는: 나리 is barking.
 

 

 

 

'개발 > Java' 카테고리의 다른 글

List 컬렉션  (0) 2022.09.05
인스턴스 멤버와 this  (0) 2022.09.04
정적 멤버와 static  (0) 2022.09.04
생성자  (0) 2022.09.01
클래스와 인스턴스 그리고 객체  (0) 2022.09.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함