Sinbum's blog
  • 인셉션 개발자
    • History
    • Editorial Board
    • 세미나
      • MS_빅데이터_분석_교육
      • Databricks_Musinsa_사례분석
      • Databricks_AMOREPACIFIC_사례분석
    • 개발자 꿀팁
  • 리눅스
    • 리눅스 기초
      • 기본명령어
      • 프록시서버
      • 온프레미스
      • systemd
      • 우분투 앱
      • vi 사용법
    • 도커
      • MSA 아키텍처
      • 도커 설명
      • 도커 설치
      • 도커 가이드
        • 컨테이너 만들기
        • 컨테이너 보관
        • 컨테이너 사용
        • 컨테이너 관리
        • 컨테이너 볼륨
        • 컨테이너 통신
        • 도커 연습
  • 언어
    • 자바
      • 자바(JAVA)는 무엇인가?
        • JVM 메모리
      • 자바 설치 가이드
      • 자바 언어 활용
        • 변수
        • static
        • 상수
        • 연산자
        • 제어문
        • 배열
        • CLI-자바사용
        • 클래스
        • 메소드
        • 값에의한 호출
        • GUI 프레임
        • 생성자
        • 오버로딩
        • 상속
        • 상속생성자
        • 접근제한자 와 가비지 컬렉션
        • 추상클래스 와 인터페이스
        • 다중구현
        • 예외처리
        • 컬렉션 프레임워크
        • 쓰레드
        • 네트워크
        • 다중 접속 서버 구현
      • 간단한 채팅 앱 개발하기
    • 파이썬
      • 파이썬(Python)은 무엇인가?
      • 파이썬 설치 가이드
      • 파이썬 언어 활용
        • 변수
        • 입력,출력
        • 타입선언
        • 자료구조
        • 주석처리
        • 문자열
        • 리스트
        • 반복문
        • 연산자
        • 조건문
        • 정규표현식
          • re 모듈
          • 메타문자1
          • 메타문자2
          • 그루핑
          • 전방탐색
          • 문자열 바꾸기
          • Greedy 와 Non-Greedy
      • 마치며...
  • 형상관리,CI/CD
    • 깃허브
      • 깃허브 협업 모델
      • 깃허브 설치 와 ssl
      • 깃허브를 잘쓰는 팁 모음
  • BigData
    • BigData 개념
      • OLTP,OLAP
      • ELT,ETL
      • DW
      • ObjectStorage
      • LambdaArc
      • OGG
    • Kafka
      • 환경설정 및 소스코드 다운로드
      • 아파치 카프카는?
        • 카프카의 시작
        • 카프카 특성
        • 빅데이터 아키텍처
      • 카프카 기초 개념
    • BuildApplications
      • Airflow
      • Grafana
    • PowerBi
      • DAX
        • REMOVEFILTERS
        • DAX_문법
        • DAX_함수
    • Azure
      • SynapseAnalytics
  • IOT
    • 아두이노
      • 설치 및 기초
      • 센서의 종류
      • led 출력하기
      • 시리얼 통신
      • 무선 통신
  • About
    • SINBUM
    • INTEREST
    • PROJECTS
      • 업무 프로젝트
      • 개인 프로젝트
        • 티스토리API를 사용한 블로그 앱
        • 노션 API와 블로그 연동 자동화 하기
        • 로지텍 마우스 수리
    • CONTACT
Powered by GitBook
On this page
  • 메소드 오버로딩(Method Overloading)
  • 메소드 오버로딩 실습
  1. 언어
  2. 자바
  3. 자바 언어 활용

오버로딩

메소드 오버로딩(Method Overloading)

  • 같은 클래스 내에서 같은 이름의 메소드를 여러개 선언하는 것을 말합니다.

  • JVM은 같은 이름의 메소드가 있으면 메소드가 받는 인수의 갯수와 데이터 타입을 비교하여 다르면 각각 다른 메소드로 인식을 합니다. 단 return 타입은 메소드를 구분하는 조건으로 사용하지 않습니다.

method overloading 의 대표적인 경우

  • System.out.println(1);

  • System.out.println(1.5);

  • System.out.println("우리는 한국인입니다.");

  • System.out.println("IT 기술을 " + " 다양한 분야로 적용해야 합니다.");

method overloading 을 사용하지 않는 경우

  • public void printInt(int x){ }

  • public void printFloat(float x){ }

  • public void printString(String x){ }

메소드 오버로딩을 적용한 경우

  • public void println(int x){ }

  • public void println(float x){ }

  • public void println(String x){ }

  • PrintStream 클래스의 메소드 오버로딩 예)

    • void print(char c){ } //print('C')

    • void print(double d){ } //print(10.5)

    • void print(float f){ } //print(10.5f)

    • void print(int i){ } //print(10)

    • 메소드가 호출되는 경우 메소드의 인수의 데이터 타입과 갯수가 일치하는 메소드가 호출됩니다.

    • println()메소드 및 생성자는 대표적인 메소드 오버로딩의 예입니다.

    • 개발시에는 좀더 많은 시간이 소요되나 개발된 클래스를 이용시에는 많은 속도 향상을 가져옵니다.

메소드 오버로딩 실습

AvgTest.java

public class AvgTest {

public int getAvg(){
    System.out.println("값을 2개이상 입력해 주세요.");
    return 0;
}

public int getAvg(int a, int b){
    return (a + b) / 2;
}

public int getAvg(float a, float b){
    return ((int)a+(int)b)/2;
}

public int getAvg(int a, int b, int c){
    return (a + b + c) / 3;
}

public int getAvg(int a, int b, int c, int d){
    return (a + b + c + d) / 4;
}



//    리턴 타입은 메소드 구분을 할 수 없습니다.
//    public float getAvg(){
//        return 0.0f;
//    }


public static void main(String[] args) {
    AvgTest st = new AvgTest();
    System.out.println(st.getAvg());
    System.out.println(st.getAvg(10,20));
    System.out.println(st.getAvg(10.5f,20.5f));
    System.out.println(st.getAvg(10,20,30));
    System.out.println(st.getAvg(10,20,30,40));

}


}
Previous생성자Next상속

Last updated 2 years ago