IT 면접족보 39

자바 수업 정리 - methods of Arrays class, StringTokenizer, Generic(19 일차)

1. BigInteger 클래스에 대하여 설명하시오. BigInteger class & BigDecimal class 메모리가 유한하기 때문에 메모리 공간을 절약할 수 있으면서, 속도 면에서도 유리할 수 있게 데이터 타입을 세부적으로 나눠(기본 8가지 타입) 적절한 데이터 타입을 사용하도록 했다. 일반적인 상황, 프로젝트의 경우에는 이 정도로 큰 수는 필요하지 않다. 하지만 예를 들면 수학이나 과학 분야 등에서 더 크거나 정밀한 수가 필요한 경우(지정된 8개 타입으로 표현할 수 없는 경우)에 BigInteger, BigDecimal class를 사용한다. 두 클래스는 꼭 필요한 경우에만 제한적으로 사용 해야하며 무조건적으로 사용하는 것은 지양 해야 한다. 이 클래스들을 기반으로 만들어진 인스턴스는 imm..

자바 수업 정리 - clone method, shallow & deep copy, Wrapper class(methods) (18일 차 )

자바 면접 족보(18일 차 ) 1. String 클래스 에서 문자열 비교시 equals를 쓰는 이유는? String class도 당연히 Object class를 상속한다. 그리고 이미 문자열의 내용비교를 하도록 Object class의 equals() 함수를 오버라이딩 하고 있다. 여기에서 문자열 비교시에 equals를 사용한 이유는 new로 객체 생성을 했기 때문이다. 이렇게 객체를 생성했을 때 참조 주소값 비교가 아닌 문자열의 내용 비교를 위해서는 일반적인 객체에서 비교하는 방법과 마찬가지의 방법으로 equals를 사용해서 비교를 해야 한다. String class에는 equals함수가 이미 오버라이딩 되어있다. String str1 = new String("So Simple"); String str..

자바 수업 정리 - Exception class, finally, try-with-resources, Object class(methods) (17일 차 )

자바면접 족보 (17일차) 1. throws 에 대하여 설명하시오. public static void md2() throws IOException {...} 메소드 내에서 문장을 실행하는 과정에서 해당 에러가 발생할 수 있다는 의미 만약 함수에서 예외 상황의 문제가 생기게 되면 throws Exception을 자기자신을 호출한 함수한테 던진다. (예외 처리를 떠넘긴다.) → 계속 호출 한 곳으로 던져서 결국 try catch의 catch에서 Exception 에서 받게 된다. → try catch가 없는 경우 메인 메소드까지 넘어가서 메인 메소드가 최종적으로 JVM으로 넘기는 것도 가능하다. (하지만 그 전에 try catch로 예외 처리를 직접 하는 것이 좋다.) 둘 이상의 예외를 넘길 때는 ,(콤마)..

자바 수업 정리 - instanceof, Object class, final, @Override, interface (16일 차 )

자바 면접 족보 정리(16일 차 ) 1. Object 클래스에 대하여 설명하시오. 모든(All) 클래스는 Object 클래스를 상속한다.(Object 클래스는 모든 클래스의 조상) subclass는 Object 클래스를 직접 상속 하지는 않지만 간접적으로(Object 클래스를 상속하는 클래스를 상속하는 형태)결국은 Object 클래스를 상속하게 된다. = Object 클래스를 사용할 수 있다 → 데이터 멤버는 없고, 함수 11개가 있다. (우리가 꼭 기억해야 할 것은 빨간색-앞으로 배움) 이 11개의 함수는 모든 클래스에서 (object class와 상속 관계이기 때문에)사용이 가능하다! //hashCode(), toString(), equals()는 꼭 알아야함!! 2. 아래와 같이 출력되는 이유를 설..

자바 면접 족보 정리(15일 차 )

1. is a 관계와 has a 관계에 대하여 설명하시오. is a (-는 -이다.) : 상속관계 노트북은 컴퓨터이다. (o) 전기 자동차는 자동차이다. (o) ColorTV 는 TV이다. (o) // 조금이라도 의심스러우면 그것은 is a 관계가 아니다!! → has a 관계이다. has a (-는 -를 가지고있다.) : 포함관계 (상속불가) class Computer{ Cpu cpu; Mainboard mainboard; Memory memory; ... } 2. 다형성(polymorphism)이란 무엇인가? 형이 많다. (many formas) 상속 관계에서 서로 관련된 많은 클래스들이 있을 때 '다형성'이라고 말한다. 객체 지향 프로그래밍OOP(Object-Oriented Programming)의..

자바 면접 족보 정리(14일 차 )

1. 배열의 디폴트 초기화 방법은? 배열에 직접 값을 넣어서 초기화 시키는 방법이 있고, 배열 객체를 생성하고 아무 값도 집어넣지 않으면 자동으로 디폴드 값으로 초기화가 된다. 이 때 기본 자료형은 0으로, 인스턴스 배열 각각의 값은 null로 초기화 된다. 1. 디폴트 초기화 //기본 자료형 배열은 값을 안넣으면 모든 요소 0으로 초기화 int[] ar = new int[10]; //선언 객체생성 //인스턴스 배열(참조변수 배열)은 모든 요소 null로 초기화 String[] ar = new String[10]; 2. 값을 넣어서 초기화 int[] ar = {1,2,4} String course[] = {"Java", "C++", "HTML5"}; 2. arraycopy 함수의 사용 방법은? Syste..

자바 면접 족보 정리(13일 차 )

1.상속을 UML로 표기해 보세요. 2.부모클래스와 자식클래스의 다른 용어들은? 부모클래스는 상위클래스 또는 수퍼클래스 라고 하고 자식클래스는 하위클래스 또는 서브클래스 라고 한다. 3.super 키워드와 this 키워드의 차이는 무엇인가요? super 키워드는 부모 클래스의 생성자 호출이고 this 클래스는 자신의 생성자 호출이다. 4.단일 상속과 다중상속 이란? 단일 상속이란 한 개의 클래스만 부모클래스로 받을 수 있는 것이고 다중 상속은 부모클래스로 여러 개의 클래스를 상속받는 것이다. C++에서는 다중상속을 허용했지만 java에서는 다중상속은 불가능하다. 5.다음 코드와 같이 과목과 점수가 짝을 이루도록 2개의 배열을 작성하라. String course[] = {"Java", "C++", "HTM..

자바 면접 족보 정리(12일 차 )

1.String 클래스에서 concat 메서드를 설명하시오. - 문자열을 연결시키는 메소드 - "문자열1" + "문자열2" 연결의 경우, "문자열1".concat("문자열2")와 같은 방법으로 연결 - String으로 생성되는 객체는 immutable이기 때문에 리터럴이 바뀌지 않는다. 덧붙이거나 뗄 수 없다. 그래서 concat() 메소드를 사용해 Stirng 클래스를 붙이면 그때마다 계속 새로운 객체를 생성한다. (그림 참고) - concat() 메소드는 계속 이어서 호출 가능 class StringConcat { public static void main(String[] args) { String st1 = "Coffee"; String st2 = "Bread"; String st3 = st1.co..

자바 면접 족보 정리(11일 차 )

public class Reverse { public static void main(String[] args) { String word; Scanner scanner = new Scanner(System.in); System.out.println("영어 단어를 입력하세요."); word = scanner.next(); for (int i = word.length()-1; i>=0;i--){ System.out.print(word.charAt(i)); } } } 1.인스턴스 함수안에 스태틱 변수와 함수가 올수 있는 이유는? 인스턴스 함수는 static, 인스턴스 변수와 함수를 모두 사용할 수 있는데, static이 **메모리에 먼저 올라와 있기 때문에(메모리 생성 시기가 빠름)** 당연히 둘 다 호출할 수..

자바 면접 족보 정리(10일 차 )

1.아래의 접근제한자에 대하여 설명하시오. -private -protected -default -public public > protected > default > private 각각의 접근 제한자는 변수, 메소드, 클래스의 **접근 권한을 제한**하기 위해서 사용되며, 변수, 메소드, 클래스 이름의 맨 앞에 해당 키워드를 붙여 사용한다. (default는 아무것도 안붙임) ###private - 인스턴스 변수와 메소드 대상 접근 수준 지시자 - 같은 클래스 내에서만 접근 가능하다. = 외부에서 . 으로 데이터 멤버에 직접 접근할 수 없다. **(정보 은닉)** Ex) c.rad =- 3.3; 처럼 c가 참조하는 인스턴스 멤버 rad에 직접 접근할 수 없다. - 메소드를 통한 변수의 접근: 데이터를 pr..