PengTory

[Java] 클래스 (필드/생성자/메서드) 본문

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

 * 실행한 곳으로 돌아감 => 값을 가지고 돌아가거나 그냥 돌아가거나

 * 메서드 실행 중지

- 중괄호 블록 실행코드 작성