아잉후의 이야기
-
java.util.InputMismatchExceptionException || Error 2018. 7. 16. 15:38
알고리즘 문제를 풀다가 만난 입력값이 매치가 안된다는....java.util.InputMismatchException 라는 에러입니다. ㅜㅜ찾아보니 최상위는 Object, 그리고 Exception의 상위 클래스인 Throwable을 볼 수 있고, 당연히 Exception 안에 RuntimeException, RuntimeException 안에 NosuchElementException > InputMismatchException 이다. ㅎㅎjava.lang.Objectjava.lang.Throwablejava.lang.Exceptionjava.lang.RuntimeExceptionjava.util.NoSuchElementExceptionjava.util.InputMismatchException InputM..
-
객체 지향2-1. 오버로딩(Overloading)과 오버라이딩(Overriding)은 무엇일까?Java 2018. 7. 16. 14:48
상속에 대한 개념 정리 후, 단골 질문인 오버로딩과 오버라딩에 대해 정리해보고자 합니다. 1. 오버로딩 ( Overloading ) - 오버로딩이란 동일한 이름으로 다양한 매개변수를 정의하는 프로그래밍 기법입니다. - 컴파일러는 매개 변수가 다르면 다른 메소드로 인식합니다. ① 메소드 오버로딩 ( Method Overloading ) - 동일한 메소드명으로 다양한 매개변수의 메소드를 정의합니다. - 사용하는 측에서는 하나의 메소드명만 인지하면 다양한 데이터를 전달해 처리할 수 있기에 사용자 편의성을 위한 프로그래밍 기법입니다. ▶ api를 통해 실제 예를 알아보겠습니다. java.io 패키지 안에 PrintStream이라는 클래스 안에 우리가 자주는 println 이라는 여러개의 메소드를 볼 수 있습니다..
-
객체 지향2. 상속(Inheritance)은 무엇일까?Java 2018. 7. 16. 11:42
객체 지향의 특징인 상속에 대해 알아보자~ 1. 상속 (Inheritance) - 상속은 자식 객체들의 공통적인 속성과 기능을 부모 객체에 정의하고 물려 받아 재사용하는 것입니다. -> 코드의 중복을 줄일 수 있고, 유지 보수가 편하며 생산성이 높아집니다. - 상속을 통해 계층구조를 형성하면 다형성 적용환경이 됩니다. - 상속은 is a relationship 입니다. (generalization) - 자바는 단일 상속입니다. 2. extends keyward - 부모 클래스르 확장해서 자식 클래스를 정의합니다. 3. 상속 사용 예제 ① Bank라는 클래스를 만듭니다.123456789101112131415161718package org.bank; public class Bank { public void ..
-
객체 지향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..