메소드명은 동사
소문자로 시작하기에 카멜 케이스를 주로 사용
메소드 제어자중 한개는 반드시 필요, 주로 main 이 자동 생성됨
main : 현재의 오브젝트 이름
메소드 접근자, 제어자
Static
String[] args 존재 이유 / public static void main(String[] args)는 무슨 뜻인가요?
import java.util.*; : 외부 파일 호출
psvm
sout
JIT(just in time) : 해당하는 파일들을 미리 상주하다가 호출시 즉시 사용
WORA(Write Once, Read Anywhere) :
구글 v8 엔진 , 2012년도부터 자바기반의 자바스크립트가 활성, 익스플로러보다 3~4배 증가,
JDK(Java Development Kit) : JDK안에는 자바를 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들을 포함되어 있고, 개발을 하려면 자바 프로그램을 실행도 시켜줘야 하기 때문에 뒤에서 배울 JRE(Java Runtime Environment)도 함께 포함되어 있다.
JRE(Java Runtime Environment) : 컴파일된 Java 프로그램을 실행
JVM (Java Virtual Machine) : 자바를 구동하는 프로그램
상수(constant) : 변수가 고정된 것, 선언으로 인해 변수가 변하지 않는 것
리터럴 : 변수의 값이 변하지 않는 데이터(메모리 위치안의 값)를 의미
일단 변수는 Stack 영역에 할당 될것이고, new String으로 생성된 문자열값이 Heap영역의 메모리 공간을 할당받아 str이라는 변수가 그 메모리주소를 가르키고 있을것이다. 이를 다른 말로 참조라고도 한다.
리터럴 방식은 주소가 동일
new 연산자 방식은 주소가 다르게 배정
new 연산자의 사용처 : 재사용할 수 있는 객체 생성 코드를 구현하는 것
new 생성자 풀이 : String a 를 객체 형태로 집어넣겠다