본문 바로가기
JAVA

[자바 ⑥] 자바 JAVA 이론 (오버로딩 / 오버라이딩)

by 비전공자 기록광 2021. 6. 22.
반응형

2021.06.17 - [IT 독학/JAVA] - [자바 ①] 자바 JAVA 이론 (객체지향언어 / 변수 / 연산자)

2021.06.18 - [IT 독학/JAVA] - [자바 ②] 자바 JAVA 이론 (제어문 / 조건문 / 반복문 / 분기문 )

2021.06.18 - [IT 독학/JAVA] - [자바 ③] 자바 JAVA 이론 (배열)

2021.06.19 - [IT 독학/JAVA] - [자바 ④] 자바 JAVA 이론 (객체 / 클래스 / 메소드 )

2021.06.19 - [IT 독학/JAVA] - [자바 ⑤] 자바 JAVA 이론 (객체의 특징 / 추상화 / 캡슐화 / 상속 / 다형성)

 

 

이번에는 오버로딩과 오버라이딩에 대해 공부해보겠다.

 

오버로딩 Overloading

오버로딩이란 중복메소드를 말한다.

중복 메소드는 한 클래스 내 동일한 이름을 가진 메소드를 여러개 작성하는 기법이다.

 

중요한 것은 메소드의 이름은 같지만 매개변수의 자료형이나 개수는 꼭 다르게 구성되어야 한다.

 

오버로딩은 다형성 기법의 일종이다. (참조 → 자바)

 

생활코딩 캡쳐

 

public void a(int param){ }

public void a(String param){ }

 

이 두 메소드의 이름은 같지만 매개변수의 자료형이 다르므로 오버로딩 기법에 따라 다른 메소드가 되어

다르게 동작하는 것이다. 

 

 

+ 참고

생활코딩

다형성 - Java (opentutorials.org)

 

다형성 - Java

이번 시간에는 다형성(Polymorphism)이라는 주제에 대해서 알아보자. 다형성이란 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것을 의미한다. 키보드의 키를 통해서 비유

opentutorials.org

 

오버라이딩 Overriding

오버라이딩이란 메소드를 재정의하는 것이다.

상위 클래스로부터 상속받은 메소드를 하위클래스에서 재정의하는 것이다.

 

오버라이딩을 한 하위클래스는 상위클래스보다 우선권을 가진다.

 

상위 클래스에서 짜파게티 만드는 메소드를 하위클래스에서 상속받아

오버라이딩을 통해 짜파구리 만드는 메소드로 재정의해줬다.

 

이로써 jpgt( )메소드는 짜파구리 만드는 법이 우선이 되었다.

 

오버라이딩의 성립 조건으로는 메소드 이름이 같아야하고 매개변수 자료형, 개수, 순서가 같아야 하며, 리턴 타입 역시 같이야 한다. 결국 아예 같은 메소드여야 가능하다.

 

하지만 아무리 조건이 맞아도 접근제한자가 private 인 메소드는 생성이 불가하다.

 

 

 

반응형

댓글