IT 면접족보/자바 면접족보 34

자바 면접 족보 정리(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..

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

클래스패스, 접근제한자, 패키지 1.set classpath 에 대하여 설명하시오. classpath 자바 가상머신의 클래스 탐색 경로 새로운 폴더를 만들고 그 안에 클래스 파일을 옮겨 넣게 되면 그 클래스의 인스턴스를 생성하려고 할 때 경로를 찾지 못해 에러가 발생한다. 그래서 이 때 **경로를 찾을 수 있도록** claasspath를 설정 해야 한다. set classpath 클래스 탐색 경로 설정 cmd(터미널)에서 **set classpath**명령어를 통해 새로 만든 폴더에 있는 파일의 경로를 찾을 수 있도록 설정 해주면, 정상적으로 클래스 파일을 찾아 그 클래스의 인스턴스를 생성할 수 있게된다. cmd(터미널)에서 set classpath 실행 방법 set classpath=.; 뒤에 절대경로..

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

1.생성자란 무엇인가? - 생성자 이름은 **클래스의 이름과 동일해야 한다. - 생성자는 **값을 반환하지 않고(return 안함) return type도 표시하지 않는다. - 리턴값이 없다는 것은 용도를 제한함을 의미 (연산 등의 용도가 아님) 즉, 생성자의 용도는 값들에 대한 초기화이다. 2.디폴트 생성자란 무엇인가? 생성자를 만들지 않았지만 객체를 생성할 때 호출하면 **컴파일러에 의해 자동으로 생성**되는 것이 디폴트 생성자 이다. (용도는 초기화) 직접 생성자 함수를 만들지 않았어도, 객체 생성 시 생성자 함수를 호출하게 되어있다. 어떻게 만들지 않은 생성자 함수를 사용할 수 있을까? 모든 클래스의 인스턴스 생성은 생성자 호출을 동반한다. 생성자 함수를 만들지 않으면 컴파일러에 의해 디폴트 생성..

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

1.아래가 의도하지 않은 결과를 나타내는 이유를 설명하시오. char ch = '가'; System.out.println(ch + '\n') '가' 의 유니코드 값과 '\n'의 유니코드 값이 int형식으로 연산되어 int 값이 출력된다. 의도를 표현하기 위해서는 '\n'을 "\n" 로 바꿔줘야한다. **ch + "\n"가 되는 이유** ch 는 char타입, \n 은 String타입이기 때문에 ch가 String 타입으로 변환된 후에 연산이 되어 문자열로 출력되는 것이다. 2.변수의 scope 는? Scope: 영역, 범위 - 변수는 변수가 선언된 시점부터 그 중괄호 블럭 안에서 사용 가능하다. - 클래스 밖에서 변수 선언은 불가능함 - 같은 영역 내에서 동일 이름의 변수 선언 불가 3.지역변수? 인스턴..

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

1.반복문 3가지의 무한루프 만드는 방법은? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 for( ; ; ){...} while(true){...} do{ }while(ture) - //while문 무한루프 (do.while도 마찬가지임) public class Hello { public static void main(String[] args) { while(true) { System.out.println("Hello World"); } } } //for문 무한루프 public class Hello { public static void main(String[] args) { for(;;) { System.out..

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

1.조건문의 3가지 종류를 나열하고 설명하시오. if문 : 조건을 확인하고 true면 {}중괄호 안의 내용을 실행하고, 아니면 빠져나간다. if(n1 n2 is true"); //true면 실행, false면 실행안하고 빠져나감. } if(n1 n2 is true"); //if문에 속한 문장이 하나일 경우 중괄호 생략 가능 but 가능하면 쓰자. if - else 문 : if문의 조건이 false일 경우 else로 가서 {}중괄호 안의 내용을 실행한다. 반드시 if나 else 둘중하나는 실행하게 되어있다. if(n1 == n2) { Syst..