반응형
public 키워드의 클래스는 클래스 파일내에 1개 존재.
생성자
Student()
{
해주고 싶은 작업
}
을 class 내에 넣어주면 외부 클래스에서 Student객체를 생성할 때 저 생성문이 실행됨.
static은 Student 객체가 2개이상 생성되었다고 할 때, 각각 static 변수에 접근해서 작업 하더라도 공유됨.
메소드를 static으로 하면 객체 생성안하고 클래스 이름만으로 함수 접근 가능.
클래스로부터 생성된 객체 -> 인스턴스 => 인스턴스는 스택에 생성되고 인스턴스의 멤버 변수들은 힙에 저장됨.
따라서 Student Imu = new Student(); 이렇게 해주면
Imu. 이 시점에 stack 에서 heap에 있는 자신의 멤버변수가 저장된 메모리를 지칭하게 됨.
자바는 c++과 달리 메모리 해제를 사용자가 해줄 필요 없음.
->Garbage collector가 알아서 해줌.
System.out.println(Imu); 해주면 객체 풀네임과 가상 메모리 주소를 줌.
main은 어떠한 클래스의 메소드가 될수 없음. 구동을 위한 함수.
하나 클래스에는 반드시 하나 이상의 생성자가 존재 해야 하는데
프로그래머가 생성 안해 주면 컴파일러가 생성자 코드 넣어줌. String 은 생성자 필요 x
생성자 없이 인스턴스로 객체에 값을 넣으려면 에러.
이름이 같지만 매개변수나 포맷이 달라서 각 필요에 따라 다르게 선택 사용되는 것 -> 오버로딩
반응형
'Java' 카테고리의 다른 글
자바 연습 (생성자 , 정보은닉 , 객체 협력) (0) | 2019.10.25 |
---|---|
this 응용 (0) | 2019.10.25 |
정보 은닉. (0) | 2019.10.25 |
Java 기초 (0) | 2019.10.24 |
java - sudoku 코딩. (0) | 2019.06.29 |