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)