1. class란?
class는 커스텀 자료형 (내가 정리한 자료형) 이라고 생각하면 된다. * int, char 같은 건 원시자료형.
Java에서는 하나의 소스 파일에 하나의 public 클래스만 포함해야 하며, 소스 파일(파일명)과 public 클래스의 이름이 일치해야 합니다. Java에서는 public 클래스는 해당 클래스와 동일한 이름의 파일에 정의되어야 합니다. 클래스는 여러개 존재할 수 있지만, public 클래스는 1파일당 1개만!!
2. heap 이란?
heap은 static과는 달리 '동적 할당' 이다.
동적 : 내가 원하는 시점에 띄울 수 있다. main이 실행되고 나서 특정 시간에 띄울 수 있다.
heap에 띄울 때에는 new 연산자를 사용한다.
클래스의 인스턴스화 생각하면 될 듯.
heap은 여러 개를 띄울 수 있기 때문에 호출할 때 변수명으로 호출
3. new 연산자
해당 클래스를 heap에 띄울때 new를 씀. 동적이라는 표시. (class 안에 있는 내용이 heap 에 뜸) 힙은 동적으로 띄우는 것. 한번만 띄울 수 있는게 아니라 여러번 띄울 수 있음. 그말은 클래스 이름으로 찾을 수 없다는 말.
이렇게 클래스명을 다 써버리면… 구분이 가나? 안가지?? 그래서 구분하기 위해 ‘변수명’을 사용한다. (=힙은 여러번 띄울 수 있기 때문에 변수명으로 사용) * Person2() 는 생성자다!
자바 문법! 타입명, 변수명 이렇게 들어가야하잖아. 그래서 자바 문법에 맞추기 위해 ‘커스텀 자료형 (클래스명)’을 넣어줌.
클래스명으로 바로 찾으면 static 이다.
Scanner sc = new Scanner(System.in);
* Scanner는 자바에서 제공하는 lib. (
import java.util.Scanner;
)
* Sysyem.in >> in이 static (클래스명.in 이니까)*Scanner가 파스칼 표기로 되어있으니까 (자바가 들고 있는) 클래스라는 걸 알 수 있다.
내가 만든 코드를 다른 곳에서 쓰고싶으면
import 패키지명.클래스명
Share article