package 혼자Test;
public class Test000 {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
class들이 모여있는 곳을 의미한다.
소스를 깔끔하게 관리하기 위해 관련 소스들끼리 모아 놓는 공간이다.
객체를 정의한 틀
프로그램 소스는 .java파일, 컴파일된 결과는 .class가 된다.
구현할 대상.
클래스의 인스턴스라고 부름.
모든 인스턴스를 대표하는 포괄적인 의미를 갖는다.
구체적인 실체 ( 동작은 인스턴스를 통해한다. )
클래스로부터 생성된 객체.
객체를 실체화하면 인스턴스이다.
인스턴스는 메모리에 할당된다.
package 혼자Test;
class Animal{
}
//class 선언
public class Test000 {
//메인 메소드
public static void main(String[] args) {
Animal cat; //객체(object)
cat = new Animal(); //인스턴스(instance)
}
}
클래스 내의 함수를 뜻한다.
파이썬(PYTHON)의 경우 함수와 메소드를 구분해 말하지만 자바의 경우 구분하여 말하지 않는다.
따라서, 자바에서 함수의 정확한 명칭은 메소드이다.
System.out.println();
클래스부에 선언된 변수들
일반적으로 [자료형 변수명;]
메소드를 선언할 때 괄호 안에 적는다.
어떤 입력값이 들어올 지 값의 형태를 정의.
vs 인자:
인자는 메소드를 호출할 때 괄호 안에 적는다.
실제 메모리에 할당되어 있는가 없는가의 차의
public int add(int a, int b) {return a+b;} //int a, int b가 매개변수(Parameter)
add(3,4) //3,4가 인수(Argument)
메소드 안에 선언된 변수
멤버 변수와 동일한 이름을 가질 수 있으며 지역 변수가 우선된다.
일반적으로 [static 자료형 변수명;][클래스이름.변수명]으로 사용한다.
//class 선언
public class Test000 {
//메인 메소드
public static void main(String[] args) {
int num; //멤버변수, 인스턴스변수
static int height; //멤버변수, 클래스변수
public void func2(String name) { //매개변수
String prt; //지역변수
}
}
리턴이 없는 메소드
블록문 안에 출력문이 직접 담겨있을 떄는 void로 작성해야한다.
리턴 값이 있을 경우 데이터 타입에 맞게 작성.