Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

코드와이

[기타] 오버로딩&오버라이딩, 인터페이스&추상클래스 본문

기타

[기타] 오버로딩&오버라이딩, 인터페이스&추상클래스

코드와이 2021. 4. 15. 22:52

정보처리기사 실기를 준비하던 중 SSAFY에서 교육받았던 내용들이 자주 나온다. (싸피 5기 교육생)

그 중 몇 가지를 복습 차원에서 정리해보려고 한다.

 

  1. 오버로딩
    • 동일 이름의 메소드를 여러 개 정의할 수 있다.
    • 메소드 이름이 같아야 한다.
    • 매개변수 개수가 같아야 한다.
    • 매개변수 개수가 같을 경우 데이터 타입이 달라야 한다.
    • 반환형은 같거나 달라도 된다.
    • 파이써은 메소드 오버로딩을 지원하지 않는다.
  2. 오버라이딩
    • 하위 클래스에서 상위 클래스 메소드를 재정의할 수 있는 특성이다.
    • 오버라이드하고자 하는 메소드가 상위 클래스에 존재하여야 한다.
    • 메소드 이름은 같아야 한다.
    • 메소드 매개변수 개수, 데이터 타입이 같아야 한다.
    • 메소드 반환형이 같아야 한다.
  3. 인터페이스  vs  추상클래스
인터페이스 추상클래스
- 선언만 있고 구현 내용이 없는 클래스이다.
- 자기 자신이 new 해서 객체를 생성할 수 없으며,
   추상 클래스는 extends 받거나 interface는 implements 한 자식만이 객체를 생성할 수 있다.
- 선언된 타입과 자식의 타입이 같아야만 한다.
- 상속을 받았음에도 구현(implements)라고 한다.
- 상속받은 클래스에서는 반드시 인터페이스에 있는 메소드를 다 구현해야 한다.
- 상속(inheritance)이라고 표현한다.
- 상속받은 클래스에서는 반드시 추상 메소드를 구현해야 한다. 필수적으로 구현해야할 메소드가 있을 때 추상 클래스를 쓰게 된다

 

'기타' 카테고리의 다른 글

[기타] 프레임워크 vs 라이브러리  (0) 2021.11.29
[기타] TDD  (0) 2021.11.29
객체지향적인 프로그래밍?  (0) 2021.08.08
[기타] MacOS Failed to create the Java Viertual Machine 오류  (0) 2021.05.21
[기타] 정처기 웹 공격  (0) 2021.04.15