inblog logo
|
Coding_study
    JAVA

    heap (new 연산자)

    yuzu sim's avatar
    yuzu sim
    Dec 19, 2023
    heap (new 연산자)

    1. class란?

    class는 커스텀 자료형 (내가 정리한 자료형) 이라고 생각하면 된다. * int, char 같은 건 원시자료형.
    Java에서는 하나의 소스 파일에 하나의 public 클래스만 포함해야 하며, 소스 파일(파일명)과 public 클래스의 이름이 일치해야 합니다. Java에서는 public 클래스는 해당 클래스와 동일한 이름의 파일에 정의되어야 합니다. 클래스는 여러개 존재할 수 있지만, public 클래스는 1파일당 1개만!!
     

    2. heap 이란?

    heap은 static과는 달리 '동적 할당' 이다.
    💡
    동적 : 내가 원하는 시점에 띄울 수 있다. main이 실행되고 나서 특정 시간에 띄울 수 있다.
     
    notion image
    💡
    heap에 띄울 때에는 new 연산자를 사용한다. 클래스의 인스턴스화 생각하면 될 듯.
    💡
    heap은 여러 개를 띄울 수 있기 때문에 호출할 때 변수명으로 호출
     
     

    3. new 연산자

    notion image
     

     
    notion image
    해당 클래스를 heap에 띄울때 new를 씀. 동적이라는 표시. (class 안에 있는 내용이 heap 에 뜸) 힙은 동적으로 띄우는 것. 한번만 띄울 수 있는게 아니라 여러번 띄울 수 있음. 그말은 클래스 이름으로 찾을 수 없다는 말.
    notion image
    이렇게 클래스명을 다 써버리면… 구분이 가나? 안가지?? 그래서 구분하기 위해 ‘변수명’을 사용한다. (=힙은 여러번 띄울 수 있기 때문에 변수명으로 사용) * Person2() 는 생성자다!
    notion image
    자바 문법! 타입명, 변수명 이렇게 들어가야하잖아. 그래서 자바 문법에 맞추기 위해 ‘커스텀 자료형 (클래스명)’을 넣어줌.
    notion image
     
    💡
    클래스명으로 바로 찾으면 static 이다.
    💡
    Scanner sc = new Scanner(System.in);
    * Scanner는 자바에서 제공하는 lib. (import java.util.Scanner;) * Sysyem.in >> in이 static (클래스명.in 이니까)
    *Scanner가 파스칼 표기로 되어있으니까 (자바가 들고 있는) 클래스라는 걸 알 수 있다.
    notion image
    notion image
     

     
    내가 만든 코드를 다른 곳에서 쓰고싶으면 import 패키지명.클래스명
    notion image
     

     
     
    Share article

    Coding_study

    RSS·Powered by Inblog