본문 바로가기
반응형

분류 전체보기44

JVM 더 깊이 있게 알아보자 - JDK (Java Development Kit) JDK 는 단어 그대로 자바 개볼 도구 이다 그래서 개발자들의 개발을 도와주는 도구들을 포함하고 있다 그리고 JRE을 포함호고 있다. 하지만 개발자가 아닌 일반 사용자들은 설치할 필요없는다. - JRE (Java Runtime Environment) JRE는 JAVA 를 실행 하기위한 환경을제공해준다 보통 개발할때 JDK를 설치하기 때문에 따로 설치하지는 안지만 일반 사용자들은 개임이나 JAVA 환경의 프로그램을 실행하기 위해 설치 해야하는 것이 JRE다. 위 표를 보면 각각 무엇을 포함하고 있는지를 확인 할 수 있다. - JVM(Java Virtual Machine) JAVA(.java) 파일을 컴파일 하여 생성되는 Byte Code(.class) 파.. 2020. 5. 22.
main(String[] args) 메소드 깊이 있게 알아보자 (5) - 최종 간단 정리 - public static void main(String[] args) {} 앞서 1~4 의 글에서 코드에서 각각의미하는 내용들을 살펴보았다. 하지만 아직 까지도 100%로 이해 하지 못할 수 도 있다. public 그래 다허용하는데 왜? static 메모리에 미리 올라가있는데 왜? 뭐 이런 생각이 아직 까지 남아있을 수 도 있다. 그래서 틀릴 수 도 있지만 내가 이해하고 암기 하고 있는 내용으로 간단하게 정리 하려고 한다. JVM 머신이 해당 Test.java 라는 코드를 컴파일하여(java compiler) jvm이 읽을 수 있는 형태를 만들고 Main Thread가 main mathod를 어디서든 접근하기 위해 public 으로 명시했다. 하지만 그 것만으로는 해당코드를 읽을 수 없다 왜? 냐면 .. 2020. 5. 22.
main(String[] args) 메소드 깊이 있게 알아보자 (4) - main() method - main Method main method는 Java의 기본 메소드의 이름입니다. main method는 Java application을 시작할 때 main thread가 처음으로 main method 를 찾아 실행 시킵니다. main thread : Java 프로그램이 시작되면 하나의 스레드가 즉시 실행되기 시작합니다. 이것을 프로그램 의 main thread 라고 합니다. 그리고 main method의 매개변수인 String[] args 는 String 배열의 값을 받는다는의미이다. 해당 매개변수는 커맨드라인 을 통해 값을 받기 위해 지원한다. public class MainClass { public static void main(String[] args) { System.out.println(a.. 2020. 5. 21.
main(String[] args) 메소드 깊이 있게 알아보자 (3) - Return Type - Return Type return type은 번역 그대로 반환할 type을 말하는 것이 다 java 의 자료형, 컬렉션 으로 return type을 지정가능 하다 그 외에 Class Instance으로도 명시 할 수 있다. public class TestGetter { private String testString; public String getTestString() { return testString; } public void setTestString(String testString) { this.testString = testString; } } 위 코드는 testString 변수의 String 자료형인 변수를 Class 이다 아래 코드에서 return type으로 지정할 Test Code이다... 2020. 5. 21.
main(String[] args) 메소드 깊이 있게 알아보자 (2) - static - Java Static 이란? 영어 단어로서의 static은 다음과 같은 의미를 가진다 정지상태의, 고정된, 변화가없는 이러하듯 static으로 선언된 자원 들은 JVM의 메모리 영역에 딱 한번만 올라가게 된다. 이러한 이유로 다음과 같은 특징을 같습니다. static 변수는 인스턴스(클래스를 생성한 객체)끼리 값을 공유한다. static 변수와 메서드는 인스턴스 생성(new Class)없이 메모리에 스스로 올라간다. 기본적으로 static을 활용한 코드는 다음과 같다. public class StaticClass { static int testInt = 100; static int getTestInt () { return testInt; } public int getInt () { return tes.. 2020. 5. 20.
main(String[] args) 메소드 깊이 있게 알아보자 (1) - 접근지정자(Access Modifier) - 접근지정자(Access Modifier) 접근 지정자 오직 클래스 같은 패키지 자식 클래스 외부 어디서나 public O O O O protected O O O default O O private O 대상 사용 가능한 접근 제어자 클래스 public, default 메서드 public, protected, default, private 멤버변수 public, protected, default, private 지역변수 없음 긁로 말하면 다음과 같습니다 public: 어디서든 접근 가능 protected: 동일한 패키지 내에 존재하거나 자식 클래스에서 접근 가능 default: 동일한 패키지 에서만 접근 가능 private: 본인 클래스 내에서만 접근 가능 CODE로 보면 다음과 같습니다. package.. 2020. 5. 19.
반응형