[기술 면접] 기술 면접 대비 11~15

김동욱·2023년 9월 9일
0

기술 면접

목록 보기
3/4

11. String 클래스의 일반적인 메서드는 무엇이 있나요?


charAt() : 지정된 인덱스 위치의 문자를 반환해줍니다.

indexOf() : 특정 문자의 위치를 반환해줍니다.

length() : 문자열의 길이를 반환해줍니다.

substring() : 시작 인덱스와 끝 인덱스 사이의 부분 문자열을 반환해줍니다.

equals() : 주어진 객체가 String과 동일한지 비교해줍니다.

replace() : 기존 문자나 패턴을 새로운 값으로 교체해줍니다.


12. 추상 클래스에서 추상 메서드는 필수적인가요?

추상 클래스가 반드시 추상 메서드를 포함해야 하는 것은 아닙니다. 하지만 일반적으로 추상 클래스는 공통된 기능을 재사용하거나 특정 부분에 대해 서브클래스에서 구현을 강제하기 위해 사용됩니다.

따라서 보통은 하나 이상의 추상 메서드를 포함합니다.

만약 추상 클래스가 한 개 이상의 추상 메서드를 가지고 있다면 해당 추상 클래스는 abstract로 선언되어야 합니다.


13. 보통의 클래스와 추상 클래스의 차이는 무엇인가요?

보통의 클래스는 abstract를 붙이지 않고 추상 클래스는 abstract를 붙입니다.

둘의 차이는 크게 인스턴스화 여부, 추상 메서드 포함 여부가 있습니다.

보통의 클래스는 new 키워드로 직접 인스턴스화 하여 사용할 수 있습니다. 반면, 추상 클래스는 직접 인스턴스화 할 수 없기 때문에 이를 상속받은 하위 클래스에서만 인스턴스화하여 쓸 수 있습니다.

두번째로는 보통의 클래스는 모든 메서드가 실제로 구현되어 있어야 하지만, 추상 클래스는 실제 구현이 없는 추상 메서드를 포함하고 있어서 이를 상속받은 하위 클래스에서 구현하게 됩니다.


14. final은 추상 클래스를 수정할 때 사용할 수 있나요?

final은 추상 클래스를 수정할 때 사용할 수 없습니다.

추상 클래스는 아직 구현이 되지 않고 선언만 되어 있는 추상 메서드를 가지고 있습니다. 그렇기 때문에 해당 클래스를 상속받은 하위 클래스에서 구현을 해야합니다.

하지만 final 은 불변성을 의미합니다. 이는 클래스가 확장되거나 오버라이드 되는 것을 방지하는데 이는 추상 클래스와 맞지 않습니다.


15. 자바 컨테이너란 무엇인가요?

profile
안녕하세요. 공부해요

0개의 댓글