java - 삼,사각형 넓이 class만들기

imjingu·2023년 8월 15일
0

개발공부

목록 보기
370/481

클래스 메서드는 객체를 생성하지 않아도 호출이 가능
인스턴스 메서드는 객체를 생성해야만 호출이 가능
왜냐하면 인스턴스 메서드는 객체가 생성되어야 메모리상(힙 영역)에 실제로 존재하고
클래스 메서드는 클래스 메모리에 올라갈 때 생성(데이터 영역)되기 때문

package chapter20230814;
class Area {
	static void manual() { // static이 있으므로 클래스 메서드
		System.out.println("현재 사용 가능한 함수 목록");
		System.out.println("triangle : 삼각형 넓이");
		System.out.println("rectangle : 사각형 넓이");
		System.out.println("입니다");
	}
	double triangle(int a, int b) { // 삼각형 넓이를 반환하는 메서드, 인스턴스 메서드
		return a * b;
	}
	int rectangle(int a, int b) { // 사각형의 넓이를 반환하는 메서드, 인스턴스 메서드
		return a * b;
	}
}
public class test03 {
	public static void main(String[] args) {
		
		Area.manual(); // 클래스 메서드 접근 가능
		// Area.triangle(3, 5); // 에러발생, 인스턴스 메서드 이기때문, 객체를 생성해줘야함
		// Area.rectangle(3, 5); // 에러발생
		
		Area cal = new Area(); // 객체 생성
		cal.manual(); // 가급적 클래스 단위로 메서드 호출하는 것이 좋음
		System.out.println(cal.triangle(3, 5));
		System.out.println(cal.rectangle(3, 4));
	}

}

0개의 댓글