
//형식
[접근제어자] class 클래스명 {
// 변수선언
[접근제어자] [기타제어자] 자료형 변수명;
// 변수선언 및 초기화
[접근제어자] [기타제어자] 자료형 변수명 = 값;
// 상수선언
final int MAX = 100; //상수 선언 및 초기화
int max = 50; // 변수 선언 및 초기화
int[] marr = now int[3];
String arr = "";
// 초기화 블럭
static{
실행문들;
} // 초기화 블럭
[접근제어자] [기타제어자] 리턴타입 메소드명(){
실행문들;
[return 값;]
}
// 생성자
[접근제어자] 클래스명 () // 리턴타입을 기술하는 곳이 있냐 없냐
1) 일반 클래스
main 메소드 X
클래스를 만드는 목적은 객체를 생성하기 위해서
public ---> 접근제어자
\[public] class Ex01{ // 클래스 밑에 바로 선언되어 있는 것을 자식으로 존재하는 애들은 점부 멤버로 생각함.
int a = 5; // 속성(Attribute Property) = 멤버변수, 필드, 컬럼, 인스턴스변수
public void md( ){// static 넣어도 되고 안 넣어도 됨
int b = 6; // 클래스에서 한단계라도 건너띄어서 존재하는 것을 지역이라고 함.
System.out.println("md 메소드 출력");
}
}
2) 메인 클래스
main 메소드 O
변수의 종류
기준 : 생명주기
public calss Ex01{
int b; // 멤버변수, 전역변수 -> 자동초기화값을 가짐
public static void main(String[] args){
int b = 7; // 전역변수는 한 번 재선언 할 수 있음.
String b = '가'; // 위에 것이 주석처리 및 삭제 한다면 사용할 수 있음.
// 지역변수는 각 지역에서 한번씩 선언할 수 있음.
b = '가'; // 이것도 안됨. 초기화하기 위해서는 선언을 확인해야함.
System.out.println(b); // 바로 위의 변수를 호출
int a = 5; // 지역변수
System.out.println(a);
int a = 7; // 지역은 똑같은 이름으로 재선언 불가, 동일한 변수명으로 재선언 불가
String a = 7; // (X)이것도 불가
System.out.println(a);
md(); // 0 값을 반환(출력) -> 전역변수는 선언만 하면 자동초기화값인 0을 갖기 때문
// 전역변수는 클래스가 끝날때까지 살아있음.
}
public void md() {
System.out.println(b); // 전역변수를 호출하는 것
}
}
public class ExClass{ // 복제본을 인스턴스라고 함.
int a; // 인스턴스 변수라고 함
public void mdA() { // 기능을 수행하기 위해 만든 것
System.out.println(a);
}
public void mod(int a, int b) { // 기능을 수행하기 위해 만든 것
System.out.println(a%b);
}
}
public class ExMain{
public static void main(String, args){
자료형 객체명 = new 자료형();
ExClass el = new ExClass(); // 객체 형성 및 공간할당;
// new라는 키워드가 하는 일이 공간할당 + 자바는 원본을 훼손하지 않는다.
// el = 인스턴스 객체명.
System.out.println(el.a); // 0으로 반환
el.mdA();
}
}
자바는 객체 지향 언어(Objected Oriented Programming Language)
객체를 만드는 최소 단위 : class
변수를 만들 때 ---> 자료형 변수명 = 값;
객체 선언 형식 => 주소값 저장.
자료형 참조변수 = 객체명 = 인스턴스명;
자료형 참조변수 = new 자료형명();
자료형성 = 생성자 호출문
클래스급 이상
클래스는 자료형이 클래스명이 자료형이 됨.
참조변수는 마음대로 지을 수 있음.
변수선언 및 값 할당
객체선언 및 공간할당(클래스복제)
