본문 바로가기

분류 전체보기

(12)
JVM 내부구조 1. 자바 소스 코드는 .java의 형태로 저장이 된다 2. 이것을 자바 컴파일러가 byte 코드로 컴파일 해주는데 이것은 .class 파일로 저장된다. 바이트 코드로 변경하는 이유는 소스 코드를 바로 실행하지 않고 바이트 코드를 거치므로 안전성 검사도 되고 JIT컴파일러를 통해 효율적인 실행이 가능하다. 3. 클래스 로더가 바이트 코드타입의 클래스 파일들은 클래스 로더를 통해 런타임 데이터 영역으로 로딩된다. 4. 런타임 영역(JVM의 메모리 영역)은 5개로 나뉘는데 (1) Method Area : JVM이 시작될때 생성되는 공간으로 바이트 코드를 처음 메모리 공간에 올릴때 초기화 하는 대상을 저장하기 위한 공간이다. 클래스 정..
JAVA 클래스,메소드 public class DoorLockManager { //DoorLockManager이라는 클래스 생성, 하나의 클래스 안에는 0개 이상의 여러가지 메소드가 존재할 수 있다 public boolean checkPassword(String password) { //메소드는 클래스 안에 포함되어야 한다(DoorLockManager라는 클래스 안에 포함) public //접근 제어자 boolean //리턴 타입 checkPassword //메소드 이름 (String password) //매개 변수(파라미터) } public void setPassword(String password) { //void는 리턴값이 없다는 정의 }..
JAVA 메모리 구조 1. JVM (Java Virtual Machine) - JVM 이란 Java Virtual Machine 약자이며 자바 가상 머신이라고도 한다. Java의 바이트 코드를 해석하고 실행하는 역할을 한다. OS에 상관없이 실행할 수 있는 장점이 있다.(JVM만 설치하면 어떤 운영체제에서든 java 파일을 실행할 수 있다.) ○ JVM 실행 순서.java 파일을 컴파일러(Compiler)를 통해 .class 파일로 변환한다..class 파일을 JVM 의 ClassLoader(클래스로더)에게 보낸다.클래스로더에서 JVM 런타임 영역으로 로딩(할당)하여 메모리에 올린다. ○ JVM의 RunTime Data Area(런타임 데이터 영역)- Java 메모리 영역을 알기 위해선 런타임 데이터 영역에 대해서 알아..
객체 지향의 세계 public class Team { String TeamName; Player[] Players; Coach[] coachs; Match[] matchs; addPlayer(); removePlayer();}public class Player { String name; int age; int goal; KickBall(); Run(); Heading();}public class Coach { String name; int age; teach();}public class Match { String MatchName; int number; addTeam(); removeTeam();}
멘토 수업(5회차) 학교 학생, 선생님, 과목class School { String schoolName; Student[] students; Theacer[] teachers; Course[] courses; addStudents(); removeStudents();}class Student { String name; int age; study(); enrollCourse(); dropCourse(); takeExam();}class Teacher { String name; int age; teach();}class Course { String courseName; Teacher teacher; addStudents..
객체 지향 객체 : 클래스에서 생성된 데이터 실체를 의미하고 상태와 행위를 같이 가지며 자기 자신을스스로 책임질 수 있습니다. 또 행위를 구현하기 위해 메시지를 통해 다른 객체와 협력합니다. 클래스 : 객체를 정의하기위한 틀 혹은 설계도 입니다. 객체의 동적인 상태와 행위를 정적인 텍스트로표현하기 위해 사용할 수 있는 도구라고도 할 수 있습니다. 객체 지향 : 현실세계에서 개체를 보는 관점과 다른 객체 지향 세계에서의 객체는 상태와 행위를 가지기 때문에 객체와 객체끼리 서로 메세지를 주고 받고 협력할 수 있는 세계입니다. 쉽게 말해서 정적인 텍스트들의 집합이 아니라 서로 메세지를 주고 받는 동적인 텍스트들의 집합이라고 볼 수 있습니다. 객체 지향프로그래밍의 장점은 데이터와 코드 재사용이 용이하고 유지보수가 쉽습니..
멘토 수업(4회차) / class, method// variable(변수)ㄴ 지역변수(C), 매개변수(D), 인스턴스변수, 클래스변수public class Student { static String name; String name; public void study(String name) { String subject; // 지역변수 } public void walk() { } public void eat() { } public void sleep() { }}public class School { public void start() { Student Student1 = new Student("김동욱"); Student Stude..
자바의 신 vol.1(기초 문법편 5장) 5. 계산을 하고 싶어요  1. 연산자 : 기본 자료형을 더하거나 빼는 등의 계산을 하기 위해서 사용한다. 항상 예외가 되는 String이라는 클래스만이 + 연산이 가능                 계산을 위한 산술 연산자는 기본 자료형 중에서 boolean을 제외한 나머지 타입에서 사용할 수 있다. - 연산자의 종류= : 대입 연산자(assignment operator)+ : 더하기 연산자 (additive operator)- : 빼기 연산자 (subtraction operator)* : 곱하기 연산자 (multiplication operator)/ : 나누기 연산자 (division operator)% : 나머지 연산자 (remainder operator) 2. 간단하게 계산하는 복합 대입 연산자들+..