1. 생성자의 이름은 반드시 클래스의 이름과 같아야하며 메소드와 다르게 리턴값이 없다.<-클래스의 객체가 생성될떄 생성자안에 코드 자동실행(ㅊ객체의 멤버에 자동으로 초깃값을 설정하는 용도가 일반적)
2.생성자를 정의 하지 않으면 인수가 없는 생성자 즉 기본생성자를 부름
class Car{
...
private Car(){
}
public Car(int i){
num=i
}
}
이렇세 설정하면 Car car=new Car(); <--private 생성자를 호출하기떄문에 객체를 생성할 수 가 없다.
3, 클래스 전체 에연결된 필드나 메소드를 클래스 변수,클래스 메소드라고 하고 static을 사용함
class Car{
public static int sum=0;
...
public Car(){
sum++;
}
public static void showCar(){
sysout(차량대수는 sum입니다);
}
} 일때
class sample1{
Car.showCar(); <--차량대수는 0대입니다
Car car=new Car();
Car.showCar(). <---차래대수는 1대 힙니다.
}
**클래스에서 객체를 생성하지 안허달도 호출할 수 있는 기능 하지만 메소드 안에서 this 사용 못함(객체와 연결 x)