티스토리 뷰

1. 오버로딩(Overloading)

 

-기존에 없는 새로운 메서드를 정의하는데 같은 이름을 가지는 함수를 정의하는것.

 

오버로딩은 연산자 , 메서드 오버로딩이 있다.

 

#성립하기 위한 조건 3가지

  1.  메서드 이름이 같아야 한다.
  2.  매개변수의 개수 또는 타입이 달라야 한다.
  3.  반환 타입은 영향 없다.

 

예시 코드)

void running(int speed){
	System.out.println(speed);
}

void running(int speed, String shoes){
	System.out.println(speed+shoes);
}

이와 같이 running 으로 같은 메서드임에도 불구하고 매개변수가 다르게 들어가는 경우가 있다.

이러한 경우 메서드의 이름을 다르게 하면 해결할 수 있지만,

같은 기능을 하는 코드를 다르게 정의하는 것은 좋은 코딩이 아니다.

이러한 것을 방지하기 위해 JAVA언어에서 제공하는 기능이 Overloading이다.

 

 

 

2. 오버라이딩(Overriding)

 

- 부모함수를 자식이 똑같이 사용하여 부모함수를 쓰지 않고 자식의 함수를 사용하는 것.

 

예시 코드)

class Bird{
	public String name;
    
    public void who(){
    	System.out.println("이 새의 이름은 "+name+"입니다.");
    }
}
class Pigeon extends Bird{
	
    public void who(){
    	System.out.println("이 새의 이름은 "+name+" 이고 색깔은 "+color+" 입니다.);
    }
}

 

위와 같이 Pigeon class의 who method는 상위클래스에서 적용된  who  method에  color 정보까지

출력하고 있다는 것을 알 수 있습니다. 

 

즉 위와 같이 같은 이름의 method이지만 상위클래스의 메서드를 하위클래스에서 다시 덮어쓰는 방식을

overriding 이라고 한다.

 

 

 

 

# overloading과 overriding은 JAVA에서 다형성을 구현하는 데 핵심이 되는 기능이다.

이러한 기능을 잘 사용하면 JAVA의 OOP적인 특성을 더 강화할 수 있다는 장점이 있다.

 

 

 

 

'개발 > 이론 공부' 카테고리의 다른 글

배열 (Array), 연결리스트 (LinkedList) 란?  (0) 2022.11.09
자료구조와 알고리즘이란?  (0) 2022.11.08
트러블 슈팅(Troble shooting) 이란?  (0) 2022.11.04
SQL 이란?  (1) 2022.11.03
Cache Hit Ratio란?  (2) 2022.11.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함