Java 11일차 2(스테틱)

2022. 11. 24. 10:30코딩배움일지/JAVA

import lombok.Data;

/*
 공유영역

 */
@Data
public class Product { 
	/*선언되자 마자*/ /*이미 존재한다.*/
    private static int autoIncrement = 20220000; /*새로 만들어지지 않고 공유하는 것일뿐*/ /*메모리 할당.*/

   

    public static void print(){ /*선언되자 마자*/ /*이미 존재한다.*/ /*할당되어야 가져 올수 있다.*/
        System.out.println(autoIncrement);
    }
}

asd

private int serialNumber; /*생성자 Product 가 생성되면 autoIncrement를 받아온다.*/
private String name; /*생성할때 받아온다.*/

static 있고 없고

public class ProductMain {

    public static void show(){ /*클래스 안에 들어있다. 왜? 스태틱을 사용하기 때문에*/
        System.out.println("메인메소드에서 호출");
    }
    public static void main(String[] args) {

        Product product1 = new Product("아이폰14");
        Product product2 = new Product("아이폰14_Mini");

        System.out.println(product1);
        System.out.println(product2);

        product1.print();
        product2.print();
        Product.print();

//        ProductMain pm = new ProductMain(); /*이건 새로 만든거*/ /*static 없으면 새로 할당해야함.*/
//        pm.show();
        show();
    }
}

 

import j07_메소드.Method1;

public class ProductMain {

    public static void show(){ /*클래스 안에 들어있다. 왜? 스태틱을 사용하기 때문에*/
        System.out.println("메인메소드에서 호출");
    }
    public static void main(String[] args) {

        Product product1 = new Product("아이폰14");
        Product product2 = new Product("아이폰14_Mini");

        System.out.println(product1);
        System.out.println(product2);

        product1.print();
        product2.print();
        Product.print();

        ProductMain pm = new ProductMain();
        pm.show();

      Method1.main(null);
      Method1.method1();


    }
}

ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ

import lombok.Data;

/*
 공유영역

 */
@Data
public class Product {
    /*선언되자 마자*/ /*이미 존재한다.*/
    private static int autoIncrement = 20220000; /*새로 만들어지지 않고 공유하는 것일뿐*/ /*메모리 할당.*/

    private int serialNumber; /*생성자 Product 가 생성되면 autoIncrement를 받아온다.*/
    private String name; /*생성할때 받아온다.*/

    public Product(String name) {
        this.serialNumber = ++autoIncrement; /*생성자 안에서만 증가시키자*/
        this.name = name;
    }

    public static void print(){ /*선언되자 마자*/ /*이미 존재한다.*/ /*할당되어야 가져 올수 있다.*/
        System.out.println(autoIncrement);
        Product product = new Product("아이폰");
        System.out.println(product.add(10,20));

       // product.add(10,20); /*호출 불가. static 이 없으니까.*/ /*static 하거나 메로리 할당 새로하기*/
    }
    public int add(int a, int b) {
        return a + b;
    }
}

'코딩배움일지 > JAVA' 카테고리의 다른 글

Java 11일차 2-2(싱글톤)  (0) 2022.11.24
Java 11일차 2-1(싱글톤)  (0) 2022.11.24
Java 11일차 1(static)  (0) 2022.11.24
Java 10일차 2(Entity)  (0) 2022.11.23
Java 10일차 2(오브젝트)  (0) 2022.11.23