내일배움캠프 36일차

Drumj·2022년 6월 9일
1

내일배움캠프

목록 보기
36/80

<오늘의 학습>

오버로딩 OverLoading

  1. 메소드 이름이 같아야 한다
  2. 매개변수의 개수 또는 타입이 달라야 한다.
  3. 참고) 오버로딩된 메소드들은 매개변수에 의해서만 구별될 수 있으므로
    반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못 한다.
class MathTest{
    int add (int a, int b){
        System.out.println("int add(int a, int b) : ");
        return a+b;
    }
    long add (int a , long b){
        System.out.println("long add(int a, long b) : ");
        return a+b;
    }
    long add (long a , int b){
        System.out.println("long add(long a, int b) : ");
        return a+b;
    }
    long add (long a , long b){
        System.out.println("long add(long a, long b) : ");
        return a+b;
    }
    int add(int[] a){
        System.out.println("int add(int[] a) :");
        int result =0;
        for (int i=0; i<a.length;i++){
            result += a[i];
        }
        return result;
    }

}

상속

코드만 봐도 이해 가능

상속 받을때는 extends

class Tv{
    boolean power;
    int channel;

    void power(){
        power =! power;
    }

    void channelUp(){
        ++channel;
    }
    void channelDown(){
        --channel;
    }
}

class captionTv extends Tv {
    boolean caption;

    void displayCaption(String text){
        if (caption) {
            System.out.println(text);
        }
    }
}

오버라이딩 OverRiding

  1. 부모클래스로부터 상속 받은 메소드의 내용을 변경하는 것을 오버라이딩이라고 한다.
  2. 상속된 그대로 쓰는것이 아닌 자손 클래스 자신에 맞게 메소드를 변경해야 하는 경우가 많은데, 이럴때 오버라이딩 한다.
class Point{
    int x;
    int y;
    String getLocation(){
        return "x: "+x+"y: "+y;
    }
}
// Prac = Point 3D

public class Prac extends Point{
    int z;
    
    // 메소드를 Prac에 맞게 수정했다! 이게 오버라이딩~
    String getLocation(){
        return return "x: "+x+"y: "+y+"z: "+z;
    }
    public static void main(String[] args){
        
    }
}

오버로딩 - 오버라이딩

오버로딩은 이름은 똑같으나 타입이 다를 경우
오버라이딩은 그대로 가져와서 내 입맛대로 바꿔 사용 하는 경우.

이렇게 보면 될 것 같다!!

처음에 이 부분 강의 들을때 무슨 소린지 몰랐는데
여러 예제를 보니까 이제 대강 이해를 한 것 같은 느낌이다. 조건 같은 것도 있던데 그건 다음에 다시 정리 해봐야겠다.


--오늘의 한 줄--

오늘의 나는 오버이팅 OverEating
살빼자

1개의 댓글

comment-user-thumbnail
2022년 6월 10일

아닛 갑자기 다이어트?!

답글 달기