java
-
[Camel][Java] Math 클래스 & Random 클래스Java/개념 정리 2020. 2. 28. 17:34
Math 클래스란? Math 클래스는 수학관련 기능을 제공하는 클래스입니다. Math클래스는 Java 표준라이브러리의 java.lang 패키지에 정의되어 있습니다. 이 클래스는 모든 멤버가 static으로 선언되어 있습니다. 즉, 이것은 인스턴스의 생성의 목적이 아닌 수학관련 기능 제공을 목적으로 정의된 클래스라는 것입니다. Math 클래스에는 매우 다양한 메소드가 존재하지만, 이 메소드들의 이름과 사용방법이 매우 직관적이기 때문에 필요한 메소드를 찾거나 사용하기가 쉽습니다. Math 클래스의 메소드는 다음 링크에서 확인 할 수 있습니다. https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Math.html 자주 사용하는 주요 메..
-
[Camel][Java] BigInteger & BigDecimal 클래스Java/개념 정리 2020. 2. 28. 16:20
BigInteger & BigDecimal 클래스를 사용하는 이유 우리가 흔히 사용하는 int, short와 같은 정수 자료형은 매우 큰 수의 표현이 불가능합니다. 그리고 float, double 같은 경우에는 실수 자료형이고 매우 정밀한 수의 표현에 제약이 있기에 오차가 발생합니다. 이러한 문제점을 해결하기 위해 사용되는 것이 BigInteger & BigDecimal 클래스입니다. 클래스들은 java.math 패키지에 묶여 있기때문에 import를 해주어야합니다. BigInteger 클래스 일반적으로 우리가 사용하는 정수의 표현에 있어서 기본자료형인 int형을 사용하면 원하는 수의 표현이 가능합니다. 그러나 기본자료형으로 표현이 불가능한 정수를 표현해야하는 상황이 발생하면 우리는 Java에서 제공하는..
-
[Camel][Java] Wrapper 클래스에 대해서Java/개념 정리 2020. 2. 28. 15:45
Wrapper 클래스란? Wrap이라는 영어를 해석해보면 '감싸다'라는 의미를 가지고 있습니다. 그렇습니다. Wrapper 클래스란 감싸는 클래스라는 의미를 가지고 있습니다. 이런 Wrapper 클래스는 기본 자료형 데이터를 인스턴스로 표현을 하고 싶을 때 사용합니다. 물론 기본 자료형 데이터를 인스턴스로 표현하기 위해 직접 클래스를 정의해도 되지만 Wrapper 클래스를 사용하면 이러한 불필요한 작업을 줄일 수 있습니다. Wrapper 클래스의 종류는 다음과 같습니다. Boolean - Boolean( boolean value ) Character - Character( char value ) Byte - Byte( byte value ) Short - Short( short value ) Intege..
-
[Camel][Java] JVM(가상머신)의 메모리 모델Java/개념 정리 2020. 2. 27. 19:23
JVM이란? JVM은 Java Virtual Machine의 약자 입니다. 이 JVM의 가장 큰 특징은 Java로 작성된 프로그램이 다른 플랫폼에서도 실행 될 수 있게 하는것입니다. JVM의 또다른 특징은 메모리를 관리하고 최적화하는 것입니다. JVM은 프로그램의 실행을 위해서 메모리 관리가 필요하고, 이를 위해 메모리 공간은 나눠서 데이터의 특성에 따라 분류해서 저장합니다. JVM의 메모리 공간은 크게 메소드 영역, 스택 영역, 힙 영역 총 3개의 영역으로 구분됩니다. JVM의 구조 Class Loader (클래스로더) JVM 내에 클래스 파일을 Load 하고 배치하는 작업을 수행하는 모듈입니다. Java의 기본적인 클래스로더는 Bootstrap, Extention, Application 클래스로더 3..
-
[Camel][Java] Inner , Local , Anonymous 클래스란?Java/개념 정리 2020. 2. 24. 15:53
Inner 클래스란? class Outer1 { class Inner { . . . } } class Outer2 { static class Nested { . . . } } Java에서는 클래스 내부에 다른 클래스를 정의할 수 있습니다. 바깥쪽에 정의된 클래스를 Outer 클래스라고 하고 내부에 정의된 클래스를 Inner 클래스라고 합니다. Inner 클래스의 경우 static으로 선언이 가능하고 이를 가리켜 Static Inner 클래스 또는 Nested 클래스라고 합니다. Nested 클래스는 클래스 내부에 정의되는 클래스이기 때문에 private으로 정의될 경우 외부에서 인스턴스 생성이 불가능하게 됩니다. Inner 클래스의 특징 Inner 클래스의 특징은 다음과 같습니다. 첫 번째, Inner클..
-
[Camel][Java] Object 클래스에 대해서Java/개념 정리 2020. 2. 21. 15:45
java.lang 패키지의 최상위 클래스인 Object클래스 Object 클래스는 java.lang 패키지의 최상위 클래스 입니다. java.lang 패키지는 Java에서 가장 자주 사용되는 패키지로서 따로 import를 해주지 않아도 자동으로 import가 됩니다. Object 클래스란? Object 클래스는 Java에서 사용할 수 있는 API의 모든 클래스와 사용자가 정의한 클래스의 최상의 클래스라고 말할 수 있습니다. 이말은 즉 Java에서 모든 클래스는 Object 클래스를 상속 받는다는 것입니다. 그렇기 때문에 어떤 클래스에서든 Object 클래스의 변수와 메소드를 사용가능하게 됩니다. Object 클래스의 메소드는 아래의 표에서 확인할 수 있습니다. 또한, https://docs.oracle...
-
[Camel][Java] 상속을 위한 관계 (IS-A, HAS-A) 그리고 오버라이딩Java/개념 정리 2020. 2. 20. 17:03
상속을 위한 관계 상속을 위한 관계? 그냥 extends 쓰고 상속받을 클래스를 쓰면 되는거 아닌가? 저는 처음 상속을 배웠을 때 위와 같이 단순하게 생각했습니다. 하지만 상속 관계를 구성하기 위해서는 조건이 필요하다는 사실! 물론 조건을 충족하지 않아도 상속관계를 구현 할 수는 있지만 조건을 충족 시키지 못하면 상속을 하는 의미가 없다는 뜻입니다. 이러한 상속을 위한 조건은 대표적으로 IS-A 관계가 있습니다. 또한 HAS-A 관계 역시 상속의 조건이 될 수 있습니다. IS-A 관계 그렇다면 IS-A 관계란 무엇일까? 아주 간단합니다. 간단한 예를 들어 설명하겠습니다. ( 전기자전거, 자전거), (무선마우스, 마우스) 혹시 눈치 채셨나요? 좀 더 직관적으로 설명하자면 (전기자전거 IS A 자전거), (..
-
[Camel][Java] 상속과 접근제어 지시자 (private, protected, public)Java/개념 정리 2020. 2. 20. 15:20
이번 포스팅에서는 접근제어 지시자에 대한 포스팅입니다. 접근제어 지시자 접근제어 지시자란 말 그대로 접근의 허용범위를 제한하는 용도로 사용되는 지시자 입니다. Java에서 접근제어 지시자는 defualt를 포함해 private, protected, public 총 4가지가 있습니다. 설명에 앞서 접근지시자별 접근허용범위는 아래 표를 확인하시면 됩니다. 접근제어지시자 Class 내부 동일 Package 상속받은 Class 이외의 나머지 영역 private O X X X default O O X X protected O O O X public O O O O private 접근제어 지시자 private는 위에서 확인할 수 있듯이 클래스 내부에서만 접근 가능하도록 하는 지시자 입니다. 동일 패키지에 있더라도 p..