본문 바로가기

전체 글

(117)
Auto Boxing/UnBoxing Boxing 원시 타입에서 Wrapper 클래스로 변환하는 작업 UnBoxing Wrapper 클래스에서 원시 타입으로 변환하는 작업 예시 Auto Boxing // Boxing Integer a = new Integer(10); // Auto Boxing Integer b = 10; Auto UnBoxing Integer a = 10; // UnBoxing int b = a.intValue(); // Auto UnBoxing int c = a; 성능 Auto Boxing/UnBoxing 기능으로 편의성은 제공되지만 내부 작업이 추가적으로 일어나기 때문에 연산 작업에 사용하는 것은 성능면에서 좋지 않다. long t = System.currentTimeMillis(); Long sum = 0L; for ..
Wrapper Class Wrapper Class? 원시 타입(Primitive Type)에 대한 객체 표현을 Wrapper class라고 한다. Primitive Type -> Wrapper Class로 변환하는 것을 Boxing Wrapper Class -> Primitive Type으로 변환하는 것을 Unboxing 종류 char Character byte Byte short Short int Integer long Long float Float double Double boolean Boolean 특징 데이터를 수정할 수 없다. 값을 변경한다면 새로운 객체를 생성해서 저장해야한다. 예시 Integer a = new Integer(10) // deprecated Integer b = 10; // Auto Boxing 사용하..
원시 타입과 참조 타입 자바의 자료형은 크게 원시 타입(Primitive type)과 (Reference type)이 있다. Java Data Type ㄴ Primitive Type ㄴ Boolean Type(boolean) ㄴ Numeric Type ㄴ Integral Type ㄴ Integer Type(short, int, long) ㄴ Floating Point Type(float, double) ㄴ Character Type(char) ㄴ Reference Type ㄴ Class Type ㄴ Interface Type ㄴ Array Type ㄴ Enum Type ㄴ etc. Primitive Type 자료형 키워드 크기 기본값 논리형 boolean 1byte false 문자형 char 2byte /u0000 정수형 by..
추상 클래스(abstract class)와 인터페이스(interface) 의 차이점 추상 클래스 추상 클래스는 클래스 내에 추상 메소드가 하나 이상 포함되거나 클래스가 abstract로 정의된 경우를 말한다. abstract class A { public void hi() { System.out.println("hi"); } abstract void hello(); } 인터페이스 인터페이스는 모든 메소드가 추상 메소드로만 이루어진 것을 말한다. interface B { public void helloWorld(); } 공통점 생성자를 이용한 인스턴스 생성이 불가 추상 메소드를 구현하도록 강제함 차이점 추상 클래스는 멤버 변수, 일반 메소드를 가질 수 있다. 인터페이스는 추상 메소드만을 가질 수 있다.인터페이스는 다중 상속이 가능하지만 추상 클래스는 다중 상속이 불가능하다.
오버라이딩(Overriding) 과 오버로딩(Overloading)의 차이 오버라이딩(Overriding) : 상위 클래스에 있는 메소드를 하위 클래스에서 재정의해서 사용하는 것 오버로딩(Overloading) : 매개변수의 개수나 타입을 다르게 하여 같은 이름의 메소드를 여러 개 정의해서 사용하는 것 오버라이딩 class A { public void functionA() { System.out.println("functionA from class A"); } public void functionB() { System.out.println("functionB from class A"); } } class B extends A{ @Override public void functionA() { System.out.println("functionA from class B"); } @..
가비지 컬렉션(Garbage Collection)이란? 가비지 컬렉션(Garbage Collection)이란? C언어를 보면 할당된 메모리의 사용이 끝나면 개발자가 직접 free함수를 호출해서 메모리를 해제해야 했다. 자바에서는 이렇게 개발자가 직접 메모리를 해제하지 않아도 되도록 자동으로 불필요한 메모리를 정리를 해주는데 이 역할을 하는 것이 가비지 컬렉션(Garbage Collection)이다. public class Main { public static void main(String[] args) { String url = "https://"; url += "www.naver.com"; System.out.println(url); } } 위 코드에서 "https://"으로 선언된 url이 다음 라인에서 "www.naver.com"이라는 문자열을 더하는 ..
JVM이란? JVM JVM이란 Java Virtual Machine의 줄임말로 자바를 실행하기 위한 가상 머신이라고 할 수 있다. 자바는 OS에 종속적이지 않다는 특징이 있는데 이것을 가능하게 해주는 것이 바로 JVM이다. Java로 작성된 파일(.java)는 자바 컴파일러가. class라는 java bytecode로 변환한다. 변환된 bytecode는 jvm이 해당. class 파일을 특정 OS에 종속적이지 않고 각기 다른 환경의 디바이스에서도 작동하게 만들어준다.
mongodb 설치 에러 "Errors were encountered while processing: mongodb-org-server E: Sub-process /usr/bin/dpkg returned an error code (1)".. 우분투에서 sudo apt-get install mongodb로 mongodb 설치 시 다음과 같은 에러 발생 Errors were encountered while processing: mongodb-org-server E: Sub-process /usr/bin/dpkg returned an error code (1) 해결방법 cd /var/lib/dpkg/info/ ls | grep mongo rm mongo*. sudo apt-get install mongodb