* 메소드 작성법
: 반드시 클래스 내부안에서 선언되어야한다 !!
접근제한자 [기타제한자] 리턴타입 메소드이름(데이터타입 변수이름, 데이터타입 변수이름, ...){
[return 가지고갈값]; //리턴타입이 void가 아닌경우
}
- 접근제한자 : public > protected > 생략 > private
- 기타제한자 : static, final, abstract, synchronized
- 리턴타입 : void, 기본형, 객체타입
- 메소드이름: identifier 작성규칙에 의해 개발자가 만드는 이름.
- 괄호안을 매개변수 = 인수 = 파라미터 = 아규먼트 : 호출하는 사람이 가지고 들어오는 값을 담을 변수 선언.
- {} 안을 메소드 구현부 = body : 필요한 기능 작성한다.
* 메소드 호출방법 : 2) - > 3) -> 1) 순서대로 해본다.
1) 객체를 생성해서 접근하는 방법
-호출하려는 메소드를 감싸고 있는 클래스를 생성한다.
클래스이름 변수이름 = new 클래스이름 ();
변수이름. 메소드이름(인수값, 인수값.,..,); // 호출한 메소드가 리턴값이 없을때
리턴타입 변수 = 변수이름.메소드이름(인수값, 인수값,......); // 만약 호출한메소드가 리턴값이 있다면...
2) static붙은 메소드 호출하는 방법
- 객체생성 하지 않고
클래스이름.메소드이름(인수값,....);
ex) Math.random();
Integer.parseInt(문자열);
3) 같은클래스 내부에서 메소드 호출방법
: this.메소드이름(인수값, 인수값,,,,); // this.은 생략도 가능하다.
-----------------------------------------------------------------------------------------------------
- 지역변수
: 메소드 내부에 선언된 변수
: 선언된 영역 내에서만 접근가능
: 다른 메소드에서 접근 안됨
: 지역변수는 사용전에 반드시 초기화해야 한다.
- 전역변수
: 클래스 내부에서 선언된 변수
: 모든 메소드에서 접근가능
: 지역변수와 전역변수 이름이 같은 경우 this.변수이름; 하면 전역변수를 의미한다.
: 전역변수 앞에는 접근 제한자 public, protected, 생략, private 이외 사용가능 하다.
: 전역변수는 객체가 생성되는 시점에 자동초기화 된다.
정수형 : 0 실수형 : 0.0 문자형 : 논리형 : false
객체형 : String => null
-Static
: class 앞에 static은 올 수 없다.
: 객체생성 없이 외부에서 class이름.변수이름 호출가능
: static변수는 같은 class들이 공유하는 공유변수이다.
:
class Test{
int a; //
static int b = 20; //static 변수
public void aa(){ => non static은 다 된다. 안되는 것 없다.
}
public void bb(){
}
public static void cc(){
}
public static void dd(){
}
}
Test t1 = new Test();
Test t2 = new Test();
Test t3 = new Test();
이 3개는 독립적인 집이다. (서로 전혀 무관하다. )
== > 주소값이 다 다르다.
하지만, Static을 사용하면 Static영역에서 같은 변수 값을 다른 객체 끼리 공유한다.. => 이것이 공유변수.
'Web > MSA Full-Stack 과정' 카테고리의 다른 글
Kosta Day9 : 정렬 / 2차원 배열 / CRUD 실습 (0) | 2022.01.26 |
---|---|
Kosta Day8 : this./ 배열 Array (0) | 2022.01.25 |
Kosta Day5 : java Method / 메소드 / 산술연산 계산기 & 성적프로그램 (0) | 2022.01.24 |
Kosta Day4 : 제어문2 / 구구단 & 별그리기 for JAVA (0) | 2022.01.20 |
Kosta Day3 : Java Programming / 타입변환 Casting / 제어문 (0) | 2022.01.19 |