IT 면접 족보34

권단비·2023년 2월 15일
0

IT

목록 보기
72/139

1. 래퍼(Wrapper) 클래스에 대하여 설명하시오.

▼정답

각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어 줌.
기본 자료형의 값을 인스턴스로 감싸는 목적의 클래스

2. 박싱과 언박싱에 대하여 설명하시오.

▼정답

박싱 : 객체 안에 값을 넣는 것을 박싱이라 한다.

[new로 객체생성을 하지 않아도 사용 가능]
*final 상수로 선언되어 있음
Integer iObj = 10;
Double dObj = 3.14;

언박싱 : 래퍼 클래스에서 기본 자료형으로의 변환하는 것을 언박싱이라 한다.

Class이름(대문자)내용
Booleanpublic Boolean(boolean value)
Charaterpublic Charater(char value)
Bytepublic Byte(byte value)
Shortpublic Short(short value)
Integerpublic Integer(int value)
Longpublic Long(long value)
Floatpublic Float(float value) , public Float(double value)
Doublepublic Double(double value)

3. 아래를 프로그래밍 하시오.

Person1 p1 = new Person1("홍길동");
		System.out.println(p1.equals(new Person1("홍길동"))); // true
		System.out.println(p1.equals(new Person1("최명태"))); // false

▼정답

package Override;

class Person {
	private String name;

	public Person(String name) {
		this.name = name;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj instanceof Person) {
			Person person = (Person) obj;
			if (this.name.contentEquals(person.name))
				return true;
		}
		return false;
	}
}

public class Equals2 {
	public static void main(String[] args) {
		Person p1 = new Person("홍길동");
		System.out.println(p1.equals(new Person("홍길동"))); // true
		System.out.println(p1.equals(new Person("최명태"))); // false
	}
}

4. 다름 출력 결과를 예측하고 그렇게 되는 이유를 설명하시오.

	String s1 = new String("java");
		String s2 = new String("java");
		String s3 = s2;

		System.out.println(s1 == s2);
		System.out.println(s1.equals(s2));
		System.out.println(s2 == s3);
		System.out.println(s2.equals(s3));
		
		if(s1 == s2)
			System.out.println("s1, s2 참조 대상 같다.");
		else
			System.out.println("s1, s2 참조 대상 다르다. ");
		
		if(s2 == s3)
			System.out.println("s2, s3 참조 대상 같다.");
		else
			System.out.println("s2, s3 참조 대상 다르다. ");
	
		if(s1.equals(s2))
			System.out.println("s1, s2 내용 동일하다.");
		else
			System.out.println("s1, s2 내용 다르다.");
		
		if(s2.equals(s3))
			System.out.println("s2, s3 내용 동일하다.");
		else
			System.out.println("s2, s3 내용 다르다.");
	}
}

▼정답

== 을 사용하면 주소값을 비교하고,
.equals를 사용하면 메모리 안에 있는 내용을 비교한다.

false
true
true
true
s1, s2 참조 대상 다르다. 
s2, s3 참조 대상 같다.
s1, s2 내용 동일하다.
s2, s3 내용 동일하다.

5. 문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라.

문자열을 입력하세요. 빈칸이나 있어도 되고 영어 한글 모두 됩니다.

I Love you
Love youI
Love youI
ove youI L
ve youI Lo
e youI Lov
youI Love
youI Love
ouI Love y
uI Love yo
I Love you

▼정답

import java.util.Scanner;

//문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라.
public class Test56 {
	public static void main(String[] args) {
		int i = 0;

		Scanner sc = new Scanner(System.in);
//		String input = sc.next();
		String input = "I Love you";

		for (i = 0; i < input.length(); i++) {
			for (int j = 0; j < input.length(); j++) {
				System.out.print(input.charAt((i + j) % input.length()));
			}
			System.out.println();
		}
	}
}

[반전]

import java.util.Scanner;
//문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라.
public class Test56 {
	public static void main(String[] args) {
		int i = 0;

		Scanner sc = new Scanner(System.in);
//		String input = sc.next();
		String input = "I Love you";

		for (i = input.length(); i > 0; i--) {
			for (int j = 0; j < input.length(); j++) {
				System.out.print(input.charAt((i + j) % input.length()));
			}
			System.out.println();
		}
	}
}
[결과값]
반전
I Love you
uI Love yo
ouI Love y
youI Love 
 youI Love
e youI Lov
ve youI Lo
ove youI L
Love youI 
 Love youI

0개의 댓글