Java
[Java] 클래스 (필드/생성자/메서드)
펭토리
2023. 3. 9. 09:49
1. 클래스의 구성 멤버
- 필드
- 변수와 비슷하지만 기본 초기값이 있음-> 기본 자료형 - 0, 참조자료형 - null로 초기화
- 클래스 내 전체 영역에서 사용 가능
- 생성자(constructor)
- 초기화
- return 타입이 없고, 이름이 클래스명과 동일함
- 객체를 생성할 때 사용됨
- 기본 생성자(매개변수가 없는 것)는 생성자가 하나도 없으면 컴파일러가 자동으로 생성해줌
다음과 같이 생성자를 따로 만든다면 컴파일러가 생성자를 자동으로 만들지 않기 때문에 아래처럼 오류가 난다.
public class ClassEx {
// 생성자
ClassEx(int a) {
}
}
- 메서드
- 하나의 기능 단위로
- 목적: 다른데 사용하기 위해서
예를 들어 구구단을 만드는 코드가 필요하다고 생각해보자. 만약 구구단 기능이 여러 파트에서 사용된다면 구구단 코드를 모든 파트에 입력해야하고 이는 곧 낭비로 이어진다. 이러한 경우 메소드로 만들어 놓으면 중복을 피할 수 있다.
- 선언부: return타입 메서드명(매개변수명...) => 구조로 작성
package ch06;
public class ClassEx {
// 메서드
void gugu() {
for (int i=2; i<=9; i++) {
for(int j=1; j<=9; j++) {
System.out.println(i + "*" + j + "=" + (i*j));
}
}
}
}
package ch06;
public class ClassExMain {
public static void main(String[] args) {
// 객체생성
ClassEx ce = new ClassEx();
// 구구단 출력
ce.gugu();
}
}
// => 구구단 결과 출력됨
- 매개변수(argument, 인자, 인수, 파라미터...) : 실행코드에서 메서드 안으로 값을 넘겨주기 위해서
* 파라미터와 argument는 엄밀히 말하면 받는쪽, 보내는쪽으로 조금 다르지만 거의 혼용해서 사용
- return
* 실행한 곳으로 돌아감 => 값을 가지고 돌아가거나 그냥 돌아가거나
* 메서드 실행 중지
- 중괄호 블록 실행코드 작성