변수
[ 선언위치따른 변수 종류 ]
class Variables{//클래스영역
int iv; //인스턴스 변수
static int cv; //클래스,static 변수
void method(){//메서드영역
int lv = 1; //지역 변수
}
}
| 변수 종류 | 선언 위치 | 생성시기 |
| 인스턴스 변수 (iv) | 클래스 영역 | 인스턴스 생성됐을 때 -> 생성 후 사용가능 |
| 클래스 변수 (cv) | 클래스 영역 | 클래스 메모리에 올라갈 때 -> 생성없이 사용가능 |
| 지역 변수 (lv) | 클래스 영역 이외 영역 (메서드,생성자,초기화 블럭 내부) |
변수 선언문 수행됐을 때 |
[ 클래스변수(cv)와 인스턴스 변수(iv) ]
▸클래스 변수(cv)
공통 속성, static 붙임 ex) 카드 폭,높이
▸인스턴스 변수(iv)
개별 속성 ex) 카드 숫자,무늬
메서드
[ 메서드란? ]
: 특정 기능 수행하는 문장 하나의 묶음.≒함수
코드 중복↓ 관리↑ 재사용↑ 간결↑
[ 메서드 작성 ]
-클래스 영역에서만 정의 가능
-반복 수행되는 여러 문장 메서드로 작성
-한 메서드에 한 기능만 수행하도록 작성
메서드 = 선언부 + 구현부{}
접근지정자 [그외지정자] 리턴타입 메서드명([매개변수 선언]) //선언부
{ //구현부
메서드 호출 시 수행될 코드
}
[ 지역 변수 (lv) ]
: 메서드 영역에 선언된 변수
해당 메서드 끝날 때까지만 유효
끝나면 사라짐 -> 다른 메서드 영역 lv와 이름 같아도 ok(영역 겹치지 않기 때문)
[ 메서드 호출 ]
메서드명([값1,값2,..])
[ return문 ]
: 실행 중 메서드 종료하고 호출한 곳으로 되돌아 감.
-반환타입 void인 경우 생략가능 (컴파일러 자동 추가)
void gugudan(int a){
for(int =1; i<=9; i++){
System.out.println("%d * %d = %d%n", a, i, a*i);
}
(return;)//생략가능
}
-반환타입 void아닌경우 구현부에 return문 필수
int max(int a, int b){
if(a>b)
return a; //참일 경우 실행
else
return b; //거짓일 경우 실행
}
[ 반환값 ]
int result = mm.add(3,5); //매서드 호출
int add(int a, int b) { //메서드 생성
return a+b;
};
타입일치(자동형변환)
'Java' 카테고리의 다른 글
| [Java] 오버로딩(overloading) (0) | 2023.12.17 |
|---|---|
| [Java] 클래스 메서드(static 메서드)와 인스턴스 메서드 (0) | 2023.12.17 |
| [Java] 객체 지향 언어, 클래스와 객체 (0) | 2023.12.10 |
| [Java] 배열 비교, 출력, 복사, 정렬 (Arrays) (0) | 2023.12.09 |
| [Java] String 배열 (0) | 2023.12.09 |