땅지원
땅지원's Personal blog
땅지원
전체 방문자
오늘
어제
  • 전체 (353)
    • Frontend (2)
      • React (2)
    • Backend (90)
      • Java (16)
      • Python (19)
      • Spring (23)
      • Database (21)
      • Troubleshooting (8)
    • DevOps (27)
      • ELK (13)
    • CS (40)
    • OS (2)
      • Linux (2)
    • Algorithm (95)
      • concept (18)
      • Algorithm Problem (77)
    • 인공지능 (25)
      • 인공지능 (12)
      • 연구노트 (13)
    • 수업정리 (35)
      • 임베디드 시스템 (10)
      • 데이터통신 (17)
      • Linux (8)
    • 한국정보통신학회 (5)
      • 학술대회 (4)
      • 논문지 (1)
    • 수상기록 (8)
      • 수상기록 (6)
      • 특허 (2)
    • 삼성 청년 SW 아카데미 (6)
    • 42seoul (12)
    • Toy project (3)
    • 땅's 낙서장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 20.11.6 BB21플러스 온라인 학술대회
  • 20.10.30 한국정보통신학회 온라인 학술대회

인기 글

태그

  • 이것이 리눅스다 with Rocky Linux9
  • D
  • ㅗ
  • E
  • I

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
땅지원

땅지원's Personal blog

Backend/Java

Java Override & Overload

2022. 7. 20. 13:03

Overriding & Overloading

Overriding

상위 클래스의 메서드와 이름과 용례(signature)가 같은 함수를 하위 클래스에 재정의하는 것을 말한다.
즉, 상속 관계에 있는 클래스 간에 같은 이름의 메서드를 정의하는 것을 말한다.

하위 클래스에 있는 애들마다 똑같은 메소드를 다르게 쓰고싶을테니까

class Parent {
    void display() { System.out.println("부모 클래스의 display() 메소드입니다."); }
}

class Child extends Parent {
    void display() { System.out.println("자식 클래스의 display() 메소드입니다."); }
}
/*class Child extends Parent {
    void display() {
    super()
    System.out.println("자식 클래스의 display() 메소드입니다."); 
    }
    
    이렇게해서 parent의 display()를 쓸 수 있긴 한데 애초에 오버라이딩 하는 목적 자체가
    포괄적인 부모 클래스에서 좀 더 세부적인 부분을 하려고 자식 클래스를 만든건데
    굳이 부모 클래스의 것을 쓰려는 것 자체가 조금 모순이니까 보통 그렇게 하진 않음
    but, super();쓰면 가능하긴함
}*/


public class Inheritance05 {
    public static void main(String[] args) {

        Parent pa = new Parent();
        pa.display();

        Child ch = new Child();
        ch.display();

        Parent pc = new Child();
        pc.display(); // Child cp = new Parent();
    }
}

부모 클래스의 display() 메소드입니다.
자식 클래스의 display() 메소드입니다.
자식 클래스의 display() 메소드입니다.

Overloading

두 메서드가 같은 이름을 갖고 있으나 인자의 수나 자료형이 다른 경우를 말한다.

public double computeArea(Circle c) { ... }
public double computeArea(Circle c1, Circle c2) { ... }
public double computeArea(Square c) { ... }

 

'Backend > Java' 카테고리의 다른 글

Java 직렬화  (0) 2022.07.27
Java 예외 처리  (0) 2022.07.26
Java Generic, Collection에 대해  (0) 2022.07.26
Java Grammer (version. Jiwon)  (0) 2022.07.19
JDK란? JRE, JVM에 대한 정리  (0) 2022.07.16
    'Backend/Java' 카테고리의 다른 글
    • Java 예외 처리
    • Java Generic, Collection에 대해
    • Java Grammer (version. Jiwon)
    • JDK란? JRE, JVM에 대한 정리
    땅지원
    땅지원
    신입 개발자의 우당탕탕 기술 블로그

    티스토리툴바