강잇
강이의 개발블로그
강잇
전체 방문자
오늘
어제
  • 분류 전체보기 (102)
    • Langauge (32)
      • Java-basic (29)
      • Java (3)
    • SpringBoot (7)
    • Algorithm (5)
      • BAEKJOON (5)
    • WEB (7)
      • HTML & CSS (7)
    • DB (1)
      • MySQL (1)
    • OS (17)
      • Mac (2)
      • Linux (4)
      • Terminal Command (11)
    • Computer Science (7)
      • Hard ware (1)
      • Database (1)
      • Data structure (2)
      • Algorithm (2)
      • Network (1)
    • Git (5)
      • 개념 (1)
      • 활용 (1)
      • Trouble Shooting (2)
    • ETC. (13)
      • Install (6)
      • IntelliJ (1)
      • Eclipse (2)
      • Error (3)
      • Tip (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CSS 속성
  • 백준
  • 메서드
  • CSS 박스 크기 설정
  • til
  • 자바
  • 알고리즘 공부
  • 메소드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
강잇

강이의 개발블로그

[Java] 메서드 시그니처와 메서드 오버로딩
Langauge/Java-basic

[Java] 메서드 시그니처와 메서드 오버로딩

2022. 7. 19. 23:37

메서드 시그니처(Method Signature)

  • 메서드 시그니처란 메서드명과 매개변수의 자료형을 의미
  • 메서드의 반환 타입은 해당되지 않는다.

메서드 오버로딩(Method Overloading)

  • JVM은 메서드명이 동일해도 매개변수의 자료형 또는 개수가 다르면 다른 메서드라고 인식한다.
  • 위의 특징을 이용하여 하나의 클래스 안에 동일한 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩이라 한다.

메서드 오버라이딩 : 오토바이(메서드) 하나에 여러 개의 무언가(메서드의 기능)를 싣고 있다.

public class Main {
    public static void main(String[] args) {
        MyClass mc = new MyClass();

        mc.print(1);
        mc.print(1, 10);
        mc.print('X');
        mc.print("메서드 오버로딩");
    }
}
class MyClass {
    public void print(int x) {
        System.out.println("정수형 : " + x);
    }

    public void print(int x, int y) {
        System.out.println("정수형 : " + x + "," + y);
    }

    public void print(char x) {
        System.out.println("문자형 : " + x);
    }

    public void print(String s) {
        System.out.println("문자열 : " + s);
    }
}

메서드 오버로딩을 하는 이유

  • System.out.println()메서드는 인자로 어떤 자료형의 인자를 전달하여도 출력한다.
  • 만약 메서드 오버로딩을 사용하지 않는다면 입력매개변수의 자료형에 따라 메서드명을 전부 다르게 해야 한다.
    (예 : printlnInt(int x), printlnChar(char x), printlnLong(long x), ....)
  • 즉, 입력매개변수가 다른 여러 경우의 수를 하나의 메서드로 해결하기 위해 메서드 오버로딩을 사용한다.

메서드 오버로딩의 예 : System.out.println()

 

 

 

저작자표시 (새창열림)

'Langauge > Java-basic' 카테고리의 다른 글

[Java] this키워드와 this() 메서드  (0) 2022.07.21
[Java] 생성자  (0) 2022.07.20
[Java] 필드와 메서드  (0) 2022.07.18
[Java] 클래스와 객체  (0) 2022.07.13
[Java] 배열  (0) 2022.07.11
    'Langauge/Java-basic' 카테고리의 다른 글
    • [Java] this키워드와 this() 메서드
    • [Java] 생성자
    • [Java] 필드와 메서드
    • [Java] 클래스와 객체
    강잇
    강잇
    학습한 내용을 정리 및 기록하는 블로그

    티스토리툴바