1. JAVA/3). 자바_개념

자바_개념_Day_09

구이제이 2024. 1. 11. 18:11

메소드의 개념

 

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