코딩하렴

Java 간단 정리

by 으렴

Q. Wrapper Class란?

> JAVA에는 primitive type과 객체 참조 두가지의 데이터 형태를 가진다. 경우에 따라 privitive type을 객체로 사용하는 경우가 있다. 이때 Wrapper Class를 사용할 수 있다. int - INTEGER

 

Q. int와 INTEGER의 차이

int는 산술연산이 가능한 자료형(primitive type)이며 Null로 초기화 할 수 없다. INTEGER는 Wrapper class(객체)로 산술연산이 불가능하지만 Null을 처리할 수 있다. 대부분의 경우는 Auto boxing을 지원하지만 변환하기 위해서 Boxing(p→w)과 Unboxing(w→p)을 이용하면 된다.

 

Q. 동적로딩과 정적로딩

동적로딩이란 프로그램을 실행할 때, 필요할 때마다 동적으로 메모리를 생성하고 필요없는 메모리는 자동으로 메모리에서 소멸시킨다. (Java, 웹같이 유동적, 가변적인 프로그램) 정적로딩은 프로그램을 실행할 때 모든 실행파일이 메모리에 로드된다. (C언어, 자주 변하지 않는 소프트웨어)

 

Q. Garbage Collector

Java에서는 정리되지 않은 메모리를 Garbage Collector가 자동으로 제거해준다. 

 

Q. interface와 abstract(추상) class의 차이

공통점으로 선언만 있고 구현이 없어서 자기자신이 new로 객체를 생성할 수 없다.
차이점으로 abstract는 abstract 메소드가 하나라도 존재하는 클래스이다. 추상클래스를 상속받는 클래스는 반드시 메소드를 구현해야 하기 때문에 필수적으로 구현해야할 메소드가 있을 때 추상클래스를 쓰게 된다.

interface는 구현체 없이 메소드에 대한 명세만 있다. interface를 상속 받게되면 반드시 인터페이스에 있는 메소드를 모두 구현해야 한다. interface를 사용하게 되면 implements를 구현하는 부분에서 extends도 사용할수 있게 되기 때문에 다중상속이 가능해진다.

 

Q. Overloading / Overriding

Overloading : 같은이름으로 기능이 다른 메소드를 생성가능.

Overriding : 상속받은 부모의 메소드를 자식클래스에서 재정의함.

 

Q. Call by value와 Call by Reference 차이

Call by Value : 일반적인 함수 호출의 형태, 호출방식은 값의 복사로 이루어짐.

Call by Reference : 함수 호출시 변수의 주소를 전달해 전달된 주소가 가리키는 변수의 조작을 함수내에서 가능케 한다.

 

Q. Java Exception의 종류

문법 오류와 실행오류가 있다.

NullPointerException : null 참조할 경우

ArrayIndexOutOfBoundsException : 배열의 범위를 벗어난 접근

ArithmeticException : 0으로 나눌시 예외

ClassCastException : 변환할수 없는 타입으로 형변환 하려할때

 

Q. String / StringBuffer / StringBuilder 차이점

모두 문자열을 저장하고 관리하는 클래스이다.

String은 한번 생성되면 할당된 메모리 공간이 변하지 않는다. (문자열 연산이 있을 경우 새로운 String객체를 만들어 붙임 → 성능이 안좋다.)

StringBuffer와 StringBuilder는 기존 버퍼의 크기를 늘리며 유연하게 동작함.

Buffer : Synchronied Keyword가 존재 멀티스레드 환경에서도 동기화 지원. 스레드 안전한 프로그램일 경우

Builder : 동기화 보장ㄴㄴ. 스레드랑 상관없음

 

'Programming Language > JAVA' 카테고리의 다른 글

Java 간단 정리  (0) 2019.05.04
Java 간단 정리  (0) 2019.05.03
Java의 Inner Class  (0) 2019.02.20
JAVA Overloading 오버로딩  (0) 2019.02.20
JAVA의 접근 지정자  (0) 2019.02.20

사이트의 정보

코딩하렴

으렴

활동하기