◐
메소드의 개념
public static void main (String[] args)
1.메소드안에서 메소드 만들지 못한다. ex)main안에 메소드 생성 불가능
2.그러나 메소드 호출은 가능하다.
3.매개변수가 있는 메소드가 있다. >>ex)
4.매개변수가 없는 메소드가 있다. >>void 형태
5.메소드는 반복적인 작업을 할경우 사용한다.
void:일처리만하고 return은 하지않는다.
Method
-재사용할 수 있는 코드 집합
-특정 연산을 수행하려고 실행문을 모아 둔 블록
-다른 프로그래밍 언어에서는 함수 또는 프로시저와 비슷한 개념
-자바에서의 메소드는 반드시 클래스 안에서만 정의 할 수 있다.
-장점
중복코드를 줄이고 코드를 재사용할 수 있음
코드를 모듈화해 가독성을 높이므로 프로그램의 품질을 향상
1.메소드의 구조
접근지정자 [static] 반환타입 메소드명(타입 변수명, 타입 변수명,...){
실행문;(세미콜론이 붙으면 실행문으로 본다)
ex) int a= 2;
sum = 5;
return 반환 값; // 또는 반환값이 없을시 return 생략가능
}
[접근지정자] [static] 반환타입 메소드명(타입 변수명, 타입 변수명,....) : 헤더
메소드 시그니처(signature), 선언부, 헤더(header)
{ } : 본체(body), 구현부, 메소드 실행 블록
메소드명(타입 변수명, 타입 변수명,...) : 메소드명(매개변수 또는 파라미터)
접근지정자 static 반환타입 메소드명(매개변수,...){
public static int sumCall(int start, int end) {//start,end 를 매개변수(파라미터)라고 부른다.
int sum =0;
for(int i=start; i<=end; i++) {
sum = sum+i; //sum+=i;
}
return sum; //
}//end of method
//접근지정자 반환타입 메소드명(){}
public static void showInfo() {//호출만하고 결과값을 받지 않기를 원할때
System.out.println("이곳은 리턴 값이 없는 것을 연습");
}
-접근 지정자 : 컴파일러에게 메소드의 접근 범위를 알려줌
2.메소드 오버로딩(overloading)이란?(메소드의 이름을 똑같은 이름을 쓰겠습니다.라는 것)
-자바에서는 메소드의 선언부(=시그너처)를 사용해서 메소드 구분한다.
-메소드명, 매개변수의 타입, 매개변수 개수 판단한다.
-메소드 이름이 같더라도 매개변수의 개수가 다르거나
메소드 이름이 같더라도 매개변수의 타입이 다르면 서로 다른 메소드로 인식한다.
-반환타입은 신경쓰지 않는다. 즉, 반환타입으로 메소드를 구분하지 않는다.
따라서 반환타입이 다르다고 메소드 오버로딩을 못하지는 않는다.
// 작은 자료형과 큰자료형이 계산하면 큰형태로 나온다
//ex)int 와 long => long
//자동형변환(묵시적형변환)
//int(4) long(8)
//float(4) double(8)
//byte byte
//short (+,-,*,/ ) short => int
//char char
// int
ex)
a*2 = 194
//숫자를 아스키문자로 바꾸는 방법
명시적 형변환(강제적형변환,다운캐스트)
(char)(65)
정수 + 정수 -> 정수(정수 연산자 정수 => 정수)
정수 연산자 실수 =>실수
문자 + 정수 => 정수 (자동타입변환), 유니코드 ex) 'a'+2 >> 값 99
(char)(문자 + 정수) => 문자 : 명시적타입변환(=강제형변환)
(char)(문자 연산자(+, -, *, /)정수) => 문자 : 명시적타입변환(=강제형변환)
'1. JAVA > 3). 자바_개념' 카테고리의 다른 글
자바_개념_Day_11 (0) | 2024.01.15 |
---|---|
자바_개념_Day_10 (0) | 2024.01.12 |
자바_개념_Day_08 (0) | 2024.01.10 |
자바_개념_Day_07 (0) | 2024.01.09 |
자바_개념_Day_06 (0) | 2024.01.08 |