개발로드

★KDT 2024-01-11☆ 본문

JAVA

★KDT 2024-01-11☆

위대한개발자 2024. 1. 11. 17:43
Method

 

  • - 재사용할 수 있는 코드의 집합
    - 특정 연산을 수행하려고 실행문을 모아 둔 블록
    - 다른 프로그래밍 언어에서는 함수 또는 프로시저와 비슷한 개념
    - 자바에서 메소드는 반드시 클래스 안에서만 정의할 수 있다.
    - 메소드 이름은 소문자로 시작하는것이 관례이다.

    - 장점
    - 중복코드를 줄이고 코드를 재사용할 수 있음
      코드를 모듈화해 가독성을 높임으로 프로그램의 품질을 향상
메소드의 구조 접근지정자 [static] 반환타입 메소드명(타입 변수명1, 타입 변수명2, ...){

실행문
return 반환값; // 또는 반환값이 없을시 생략 return

}
명칭 접근지정자 [static] 반환타입 메소드명(타입 변수명1, 타입 변수명2, ...) : 헤더, 메소드 시그너처(signature), 선언부
{ }  : 본체(body), 구현부, 메소드 실행 블록
메소드명(타입 변수명1, 타입 변수명2, ...) : 메소드명(매개변수 또는 파라미터)

[접근지정자] [static] 반환타입 메소드명(매개변수,...)
public static int sumCall(int start, int end) {// start, end : 매개변수, 파라미터
int sum = 0;
for (int i = start; i < end; i++) {
sum += i;
} // end of for
return sum; // 총합 리턴 => 값을 가지고 호출한 곳으로 간다, 해당 메소드를 빠져나간다
}// end of method sumCall()

접근지정자 반환타입 메소드명() { }
public void showInfo() {// void 리턴값 없음
System.out.println("여기는 리턴 값이 없는 것을 연습함");
}// end of method showInfo()
접근 지정자 컴파일러(JVM)에게 메소드의 접근 범위를 알려줌

 

메소드 오버로딩(overloading)

 

 자바에서는 메소드의 선언부(=시그너쳐)를 사용해서 메소드를 구분
- 메소드명, 매개변수의 타입, 매개변수의 개수를 보고 판단
- 메소드 이름이 같더라도 매개변수의 개수가 다르거나, 매개변수의 타입이 다르면 서로다른 메소드로 인식

- 반환타입은 신경쓰지 않음. 반환타입으로 메소드를 구분하지 않음
- 반환타입이 다르다고 메소드 오버로딩을 하지는 않음

 

메소드 오버라이딩

 

정수  (산술연산)  정수 =>   정수
정수  (산술연산)  실수 =>    실수
문자  (산술연산)  정수 =>    유니코드(자동타입 변환)
(char)(문자+정수) =>    문자(강제타입 변환, 명시적 타입변환)

 

'JAVA' 카테고리의 다른 글

★KDT 2024-01-15☆  (0) 2024.01.15
☆KDT 2024-01-12★  (0) 2024.01.12
☆KDT 2024-01-10★  (1) 2024.01.10
★KDT 2024-01-09☆  (1) 2024.01.09
☆KDT 2024-01-08★  (0) 2024.01.08