public class Test { public static void main(String[] args){} <-메인!함수 메소드
}클래스
클래스란? 한 마디로 건물을 지을 때 제일 먼저 필요로 하는 설계도면과 같다건물의 위치를 가리키는 주소(reference)가 있게 마련이고 그 주소를 통해 건물로 세금통지서 또는 각종 배달 서비스 즉, 연락(요청)을 취할 수 있다 교재 142page public : 모든 접근을 허용
protected : 상속관계
default : 아무것도 안쓰는것을 default 라함
private : 현재클래스 내에서만 허용
-------------------------------------------------------------------------------------class 클래스 이름 { //클래스 헤드 (선언부) 접근_지정자 자료형 변수_이름; //속성 선언 접근_지정자 생성자( ) { //생성자 정의 . . . . . } 접근_지정자 자료형 메서드_이름( ) { //메서드정의 . . . . . }} -------------------------------------------------------------------------------------class Animal{ String name; int age; } => Animal 클래스에 String속성의 name과 int속성의 age 변수선언@클래스는 붕어빵틀 객체는 붕어빵 => 클래스의 정의로 동일한 객체를 만들어냄Animal a; 레퍼런스 변수 선언a= new Animal(); 인스턴스 생성인스턴스 접금 a.name,a.ageBasic Classint var1 String var2 COUNT
main
객체 -->main()
객체를 생성 = new |
|
Stack = 자료형 클래스명을 사용 참조변수heap BasisClass var1 =0 var2 =null COUNT =3 |
|
BasicClass 실행시 -> 멤버필드는 메모리에 안올라감 -> 메인 메모리에 올라감
Stack의 bc. heap 의 값 => bc.var1 으로 불러와 사용
public class BasicClass {
//멤버필드
int var1; //멤버 변수 초기값 0
String var2; // 초기값 null
final int COUNT = 3; //상수
//메인 메소드 (클래스를 실행시킬수있는 진입점
public static void main (String[]args){
BasicClass bc; //객체선언
bc = new BasicClass(); //객체생성
bc.var1 = 100; //멤버변수를 호출해서 데이터 할당
bc.var2 = "겨울";
//bc.COUNT = 600; // 상수는 변경불가능
System.out.println("var1 : " + bc.var1);
System.out.println("var2 : " + bc.var2);
System.out.println("COUNT : " + bc.COUNT);
}
}
var1 : 100
var2 : 겨울
COUNT : 3