Java 이론
클래스 내부 구성 요소 #1 (필드 / 메서드 / 생성자)
ss__0
2022. 6. 1. 13:54
필드
- 객체의 속성값을 지정할 수 있는 클래스에 포함된 변수
- 클래스 {...}에서 선언
- Heap 메모리에 저장 → 객체(Obect)가 Heap 메모리에 저장되는데 필드는 객체 속에 저장되므로.
- 미입력시 강제 초기화 : 빈칸으로 존재할 수 없으며 디폴트 초기값이 강제 설정
- 기본자료형(숫자 디폴트 값 :0), boolean (디폴트 값:false), 참조자료형(디폴트 값 : null)
[비교] 지역변수
- 메서드에 포함된 변수
- Stack 메모리 저장
- 메서드가 호출될 때만 생성
- 메서드 실행 완료시 Stack메모리에서 삭제 → 생명 주기가 끝나면 자동으로 삭제
- 강제 초기화 (X)
메서드
수식어 | 빨간색 필수 요구사항 |
|||
public | static | int | sum | ( int a, int b ) { //메서드 내용 } |
접근지정자 | 객체 생성없이 사용 가능 | 리턴(반환) 타입 |
메서드 이름 | (입력 매개변수){....} |
- 리턴(반환) 타입
- 메서드 완료 후 반환되는 타입
- 반환값이 있는 경우(=리턴 타입이 void가 아닌 경우) 메서드 내에 return이 존재해야 함
- 반환값이 없는 메서드는 리턴타입이 void로 선언
- 리턴 타입이 void 경우에도 메서드 내에 return 사용 가능(단, 리턴값 없이 return만 사용(메서드 종료))
- 메서드 이름 : 변수의 이름 규칙과 동일하게 적용
- 입력매개변수 : 메서드에 전달되는 값
- 메서드 정의 시 : (), {} 사용
- 메서드 호출 시 : () 사용
void prointMonth(int m){
if(m<0 || m>12){
System.out.println("잘못된 입력");
return; // 메서드 종료
}
System.out.println(m + "월 입니다.");
}
▶ 클래스 외부 메서드 호출
step 1 . 객체 생성 (붕어빵을 먼저 만듦)
step 2 . 참조변수로부터 메서드 호출
▶ 클래스 내부 메서드 호출
step 1 . 메서드 이름으로 바로 호출
- 매개변수가 있는 메서드(void num(int a))는 메서드 호출시 매개 변수 선언 및 변수 값 대입을 가장 먼저 수행
- 선언과 값의 대입이 불가능!
- static 메서드에서는 static 에서만 호출 가능
▶ 기본자료형 & 참조 자료형 매개변수의 값 변화
- 기본 자료형 : 복사본을 변화시키므로 원본의 값에는 변화가 없다
- 참조 자료형 : 번지 값을 넘기는 것이므로 원본의 값도 변함
※ Arrays.toString(1차원 배열) → 배열값 출력 정적 메서드
생성자