Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 코드업
- 에러
- DTO
- html tag
- 프로그래머스
- Codeup
- 부트캠프
- 파이썬
- 자바
- stringbuffer
- lv1
- SQL
- HTML
- Python
- github
- @builder
- @NoArgsConstructor
- java
- 상속
- 캡슐화
- 알고리즘
- entity
- git
- CRUD
- 브랜치
- HashSet
- 기본생성자
- 깃허브
- 부스트코스
- @AllArgsConstructor
Archives
- Today
- Total
잉?
[Java] 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점 본문
오버로딩(Overloading) ?
- 한 클래스 내부에서 메서드를 확장하기 위한 개념
- 메서드 이름이 일치하고, 매개변수의 개수 또는 타입이 달라야 한다.
public class prac {
public static void main(String[] args) {
OverloadingPrac op = new OverloadingPrac();
System.out.println(op.eat("사과"));
op.eat("사과", "바나나");
}
}
class OverloadingPrac{
public String eat(String a){
return a + "를(을) 먹다.";
}
public void eat(String a, String b){
System.out.println(a + "와(과) " + b + "를(을) 먹다.");
}
}
오버로딩 사용 이유
1. 같은 기능의 메서드를 하나의 이름으로 사용할 수 있다.
2. 메서드의 이름을 절약할 수 있다.
오버라이딩(Overriding) ?
- 상위(부모) 클래스에서 정의한 메서드를 상속받은 하위(자식) 클래스에서 확장하는 개념
- 메서드의 이름, 매개변수, 리턴 값이 모두 같아야 한다.
public class prac {
public static void main(String[] args) {
Animal animal = new Animal();
Tiger tiger = new Tiger();
Rabbit rabbit = new Rabbit();
animal.cry();
tiger.cry();
rabbit.cry();
}
}
class Animal{
protected void cry(){
System.out.println("울다");
}
}
class Tiger extends Animal{
public void cry(){
System.out.println("어흥");
}
}
class Rabbit extends Animal{
protected void cry(){
System.out.println("끽끽");
}
}
오버라이딩의 접근 제어자
자식 클래스의 접근 제어자는 부모 클래스 보다 넓은 범위의 접근제어자만 설정 가능하다.
[Java]오버로딩 & 오버라이딩(Overloading & Overriding)
오버로딩(Overloading) 오버로딩(Overloading)이라는 뜻은 사전적으로 '과적하다.'라는 뜻이다. C언어에서는 함수명이 고유하게 존재해야 한다. 즉 하나의 함수가 하나의 기능만을 구현해야 한다는 것
hyoje420.tistory.com
'자바(Java)' 카테고리의 다른 글
[JAVA] 캡슐화(Encapsulation)와 추상화(Abstraction)에 대해 알아보자 (0) | 2023.07.19 |
---|---|
[JAVA] OOP(Object-Oriented-Programming, 객체 지향 프로그래밍) + 대표적인 특징 (0) | 2023.07.18 |
[Java] 다차원 배열 중 2차원 배열 (0) | 2023.06.13 |
[Java] 기본 생성자 + 기본 생성자가 필요한 이유 (0) | 2023.06.09 |
[Java] Wrapper 클래스 박싱과 언박싱 + 문자와 문자열 알아보기 (0) | 2023.06.07 |
Comments