아잉후의 이야기
-
객체 지향1. 캡슐화(Encapsulation)은 무엇일까?Java 2018. 7. 13. 15:23
객체 지향이 가지는 특징에 대해 자세히 알아보고 싶어 작성하였습니다. ^^ 1. 캡슐화(Encapsulation)이란? - 데이터와 데이터를 처리하는 함수를 하나의 단위로 묶은 것입니다. - 캡슐화를 통해 객체의 정보를 보호하고 정보를 은닉(Data Hiding)합니다. ▶ 각 객체끼리의 응집도는 높아지고, 결합도는 낮아집니다. ▶ 결합도가 낮아지니 생산성이 높아집니다. - 캡슐화 된 클래스의 변수들은 접근제어자(Access Modifier)를 통해 접근을 제어합니다. - private를 사용하여 클래스 내부의 변수를 선언합니다. - setter, getter 메서드를 통해 변수의 값들을 조회하거나 수정할 수 있습니다. 2. 접근 제어자 ( Access Modifier ) - 접근 제어자로는 public..
-
가비지 컬렉션(Garbage Collection)???Java 2018. 7. 12. 18:52
자바 공부하면서, 앞에서도 메모리 구조 정리하면서 가비지, 가비지 이야기가 많은데,,정확히 어떤 동작을 하는지, 어떤 것을 처리하는지 몰라서 찾아보았습니다. 1. 가비지 컬렉션 (Garbage Collection)? - 가비지 컬렉터는 힙 메모리를 다룹니다. - 가비지 컬렉터 (Garbage Collector) 는 힙 내의 Garbage를 찾아내고 처리해서 힙의 메모리를 회수한다. - reachability라는 개념을 사용하여 객체의 유효한 참조가 있으면 reachability, unreachability로 Garbage를 판단한다. New / Young GenerationTenured Generation Permanent Generation Eden Survivor 0 Old Permanent Surv..
-
JVM 메모리 구조Java 2018. 7. 12. 11:01
JVM 메모리 구조는 어떤가... 1. JVM 메모리 구조Method Area Heap Stack PC 레지스터 Native Method Stacks 1. Permanent Generation 2. New / Young Generation 3. Old Generation - JVM의 메모리 구조는 크게 5가지로 Method Area, Heap, Stack, PC 레지스터, Native Method Stacks 로 이루어져있습니다. 간단하게는 Stack 영역에는 local variable이 저장되고, Heap 영역에는 모든 객체의 속성 정보가 저장됩니다. 1) Method Area- Java 실행 단계 중 Class loading 단계에서 Type, 상속, Package, Class, Method, 멤버 ..
-
자바의 아버지는 누구인가?Java 2018. 7. 11. 14:51
문득 자바를 최초 개발한 사람이 제임스 아서 고슬링임을 알았지만 자세히는 몰랐다.그래서 조금 찾아보았다. 1. 제임스 아서 고슬링은 누구인가? 이름 : 제임스 아서 고슬링 (James Arthur Gosling)국적 : 캐나다출생 : 1995.5.19현 소속 : 아마존 웹 서비스 제임스 고슬링은 캐나다 캘거리 대학교를 거쳐 카네기 멜론 대학교에서 박사하위를 취득 후 썬 마이크로시템즈에 합류했습니다.90년대 말 썬 마이크로시스템즈는 다양한 하드웨어에서 호환되는 언어를 개발하려고 했고, 이에 따라 프로그래밍 언어 Oak를 개발하였습니다.고슬링은 Oak를 웹에 적용시킬 수 있는 코드를 맡았고, 자바(Java)라는 이름으로 완성되었다.각 운영체제에서 만들어진 소프트웨어는 다른 운영체제에서 호환이 되지 않았었는데..
-
Java 프로그래밍 언어 플랫폼(SE, EE, ME, FX)Java 2018. 7. 11. 10:59
Java 언어로 개발을 하면서도... 각 플랫폼에 대한 차이를 이해하지 못해서 정리를 해보았습니다. :) * 자바 프로그래밍 언어 플랫폼 - 모든 Java 플랫폼은 JVM과 API로 구성됩니다. 각 Java 플랫폼은 JVM 및 API를 제공하기 때문에 독립적이고 안정성을 갖추고 있으며 개발에 용이한 장점들을 가지고 있습니다. *API(Application Programming Interface)란? 소프트웨어 구성요소 또는 응용프로그램을 만드는데 사용할 수 있는 소프트웨어 구성 요소 모음입니다. 1. Java SE(Standard Edition) - 대부분의 사람들이 Java 프로그래밍 언어를 생각할 때 생각하는 플랫폼입니다. Java SE의 API는 Java 프로그래밍의 핵심 기능을 제공합니다. Jav..
-
JDK, JRE, JVM이란 무엇일까?Java 2018. 7. 10. 12:46
제가 자바를 처음 공부할 때 설치가 필요하다고 해서 설치를 하지만,,,무엇인지 모르고 설치를 하고 무엇인지 모르고 계속 사용해왔던 용어들입니다.이번 기회에 정리를 하려고 글을 작성해봤습니다. 1. JDK - JDK는 자바 개발 도구 (Java Development Kit) 입니다. JRE와 개발을 위해 필요한 도구를 포함한다. 그렇기 때문에 JDK를 설치하면 JRE가 설치됩니다. ^^ 자바컴파일러(javac), 자바(java), 문서파일(javadoc), appletviewer, jdb, javap, rmic 등이 포함되어 있습니다. * 컴파일러란? 컴퓨터가 이해할 수 있는 언어로 바꾸는 과정 2. JRE - JRE는 자바 실행 환경 (Java Runtime Environment) 입니다. JRE는 JV..