클래스클래스=class=설계도//클래스 = 여러가지 상태(특징)을 가지고 있다.public class Dog { int age = 20; String name = "a"; final String color = "b"; //변경 불가능한 상수}// = 상태 = 필드 = 전역변수public class DogApp { public static void main(String[] args) { Dog d = new Dog(); System.out.println(d.age); System.out.println(d.name); System.out.println(d.color); d.age+=1; d.na..
캐스팅public class CastEx01 { public static void main(String[] args) { int n1 = 100; //4byte double d1 =n1; //8byte System.out.println(d1);//업캐스팅(작은크기를 큰 용량에 넣기, 그냥 허용해준다) double d2 = 100.8; //int n2 = d2; double을 int로 변환할 수 없다 //명시적 변환 (int) 다운 캐스팅 int n2=(int)d2; //단점 : 데이터 유실 위험 있다 System.out.println(n2); }} 패키지.java 파일들의 모음import..
레퍼런스 자료형일반변수 : 1번만에, 컴파일할때 크기 확인 가능참조변수 : 2번만에, 런타임할때 크기 확인 가능///레퍼런스(참조) 변수, 일반 변수// new가 되어서 힙에 할당이 되야 사이즈를 알 수 있다.(즉, 프로그램 실행될때 = Runtime 일때 알 수 있다.)class MyData{ int id=1; //4byte int price =1000; //4byte}public class VarRefEx01 { public static void main(String[] args) { int num =10;//일반변수, 크기가 정해져 있음(크기가 정해져 있는것 = 컴파일 시점) MyData d = new MyData(); // 레퍼런스 ..
JVM 구조문서(test.java)-[컴파일]-test.class-[실행]-JVM-OS-하드웨어 bin/out : 컴파일 결과물인 .class 파일 (실행 가능한 파일들) 모아둔곳 컴파일(IDE에서 그냥 저장하면 끝),실행(run) 메모리 구조 -> 커피 마시기 게임Static -> 커피머신 : 프로그램이 시작되기 전부터, 종료될때까지 계속 존재Heap -> 게임 참가자 : 프로그램 중간에 나타나서 동작하고 프로그램이 끝나기 전에 사라지는곳(동적 메모리 영역)Stack -> 커피를 마시는 순간 시간과 커피를 마시고 난 뒤의 시간 : cpu가 연산하고 나면 삭제된다.차례로 구분되어 있다. 아래로 내려갈수록 가볍고 생명주기가 짧다. 메모리 : 저장하는 공간, cpu : 연산 하는 공간, 모니터 : 출력자료..
JAVA_HOME 등록 이유JAVA_HOME은 jdk가 설치된 경로이다. 설치 경로를 시스템 변수에 설정을 하면 현재 사용자 뿐 아니라 다른 사용자 계정으로도 해당 변수를 사용할 수 있다. 또한, 다른 프로그램에서 JAVA_HOME 환경 변수를 이용해 jdk의 위치를 찾기도 한다.