면접 준비
-
[ Java ] 예외 처리하기면접 준비 2020. 5. 29. 14:55
Java에서 예외를 처리하는 방법은 2가지가 있습니다. try-catch 문 사용하기 throws 예약어 사용하기 try-catch finally 예외가 발생하든 발생하지 않든 반드시 실행해야 하는 영역입니다. 예를 들면 DB 작업을 할 때 DB 작업이 성공했든 실패했든 사용한 DB 자원은 반드시 해제해 주어야 하고, 파일 입출력을 하고 난 후에는 Stream을 반드시 닫아주어야 합니다. 이런 작업을 try 영역에서 지정했다면 예외가 발생한 경우 실행되지 않을 수 있으므로 finally 영역에 지정해 주어야 합니다. 예외 종류 Java에서 모든 클래스의 최상위 클래스는 Object 클래스입니다. 그리고 Object 클래스를 예외 클래스 중 최상위 클래스인 Throwable 클래스가 상속받습니다. Erro..
-
[ Java ] 다형성 ( Polymorphism )면접 준비 2020. 5. 25. 17:54
사전적 의미로는 같은 생물종이지만 모습이나 특징이 고유한 성질을 가지는 것을 의미합니다. 관용적인 의미로는 클래스나 메소드가 다양한 형태로 사용되는 것을 의미합니다. 즉, java에서 다형성은 같은 객체이지만 다양하게 구현되어 각자 고유한 성질을 가지는 객체로 사용되는 것을 말합니다. 대표적으로 Overring과 Overloading, Interface가 있습니다. Casting Casting은 부모, 자식 클래스끼리만 가능합니다. 같은 부모를 상속받고 있는 클래스들이라도 전혀 관계없는 클래스 입니다. UpCasting 부모 클래스의 래퍼런스 변수가 자식 클래스 객체를 참조하게 되면 자식 클래스 객체의 타입은 자동으로 부모 클래스 타입으로 변환됩니다. Person person = new Employee(..
-
[ Java ] final 과 static면접 준비 2020. 5. 25. 17:46
final final 은 상속/변경을 금지하는 규제입니다. C언어에서 Const나 #define과 같은 느낌입니다. final 필드 변수에 final을 사용하면 1번 선언 후 변경이 불가능합니다. final 메소드 overriding을 할 수 없습니다. final 클래스 상속할 수 없습니다. static static은 어떠한 값이 메모리에 한번 할당되어 프로그램이 끝날 때 까지 그 메모리에 값이 유지된다는 것을 의미합니다. 특정한 값을 공유해야 하는 경우라면, static 사용 시 메모리 사용에 이점이 있습니다. static 변수 static변수(클래스 변수)는 어디에서 선언이 되더라도 그 클래스 내에서는 공유가 되어진다. static이 선언되는 순간에 하나의 메모리 공간이 할당되기 때문입니다. ( 클래..
-
[ Java ] 제네릭 ( Generic )면접 준비 2020. 5. 25. 17:23
클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 방법이다. 확장성과 타입 안정성 때문에 사용합니다. 제네릭은 기본 데이터 타입에서는 사용할 수 없고 참조 데이터 타입에 대해서만 사용할 수 있습니다. 1. 확장성 기능을 구현할 때 제네릭을 사용하면 다양한 자료형에 적용이 가능하여 확장성을 보장할 수 있습니다. ( 중복의 제거 ) 이러한 특징은 Object를 통해서도 보장이 가능하지만 Object는 타입에 대한 검사가 이뤄지지 않기 때문에 컴파일 타임에 문제를 인지할 수 없습니다. 따라서 잘못된 타입이 적용되었을 경우 에러를 잡기가 힘듭니다. 2. 타입 안정성 제네릭은 사용하고자 하는 자료형을 명시적으로 표시함으로서 잘못된 자료형을 컴파일 타임에 찾을 수 있습니다. 비록 제네릭은 생략될 수 있기 대문..
-
[ Java ] Collection면접 준비 2020. 5. 25. 16:58
데이터들을 효율적으로 관리할 수 있게 해주는 프레임워크입니다. 배열의 경우 한 번 크기가 정해지면 별경할 수 없으므로 삭제나 추가 등의 작업을 할 때 어려운 점이 많지만 Collection 에서는 삭제, 수정, 검색 등의 작업을 효율적으로 할 수 있는 다양한 메소드들을 제공해 주기 때문에 효과적으로 데이터를 관리할 수 있습니다. Vector ArrayList의 구버전으로 ArrayList와 사용법이 같습니다. ArrayList 내부적으로 데이터를 배열에서 관리하며 추가, 삭제시 임시 배열을 생성하여 데이터를 복사하는 구조입니다. 대량의 자료를 추가, 삭제할 시 메모리 소모가 크고, 시간이 오래걸려 성능저하가 발생하며, 사이즈가 고정되어 있기때문에 사이즈를 초과할시 사이즈가 늘어난 배열을 생성하여 데이터를..