Backend/Java

Java 기초 테스트

개발자의 첫 걸음 2025. 7. 23. 09:00

 

안녕하세요. 전 포스팅은 기본 코딩연습문제를 알아봤는데요.

 

이번에는 자바의 기초 테스트를 간단하게 알아볼까 해요.

 

내가 얼마나 기초이론을 이해했는지 알아볼 수 있는 시간이었으면 좋겠어요.

 

답은 글자색을 흰색으로 설정이 되어서 드레그 하시면 잘 보입니다!

 

그럼 한번 같이 풀어볼까요?

 

------------------------------- ------------------------------- -------------------------------

 

1. 자바에서 모든 클래스의 최상위 부모 클래스는 무엇입니까?

정답: Object

→ 자바의 모든 클래스는 암시적으로 Object 클래스를 상속받음

→ Object 클래스가 가진 toString(), equals() 등의 메서드를 기본적으로 가짐

 

2. ArrayList와 같은 컬렉션에서 요소의 개수를 반환하는 메서드는 무엇입니까?

정답: size()

→ 리스트에 저장된 요소의 개수를 반환

 

3. 자바에서 if-else 문 대신 간결하게 조건에 따라 값을 반환할 수 있는 연산자는 무엇입니까?

정답: 삼항 연산자 (? :)

→ 조건식 ? 참일 때 값 : 거짓일 때 값

→ int result = ( a > b) ? a : b;

4. 다음 중 인터페이스에서 사용할 수 없는 것은 무엇입니까?

 ( 추상 메서드, default 메서드, static(정적) 메서드 )

  1. default 메서드
  2. 정적 메서드
  3. private 메서드→ default와 static 메서드에서 private 접근제어자 사용이 가능
    • 단, private 메서드는 인터페이스 내부에서만 호출 가능
  4. → 접근제어자가 생략된 메서드의 경우 기본으로 public abstract 으로만 선언
  5. 생성자  (정답 V)

정답: 4. 생성자

해설

  • 인터페이스 자체로는 객체를 생성할 수 없으며, 생성자도 가질 수 없음
  • → 인터페이스는 객체의 구조를 정의하는 데 집중하기 때문에 생성자와 같이 객체를 직접적으로 생성하는 요소를 포함하지 않음

5. 다음 중 @FunctionalInterface에 해당하는 조건으로 올바른 것은 무엇입니까?

  1. 여러 개의 추상 메서드 포함 가능
  2. 반드시 하나의 추상 메서드 포함 (정답 V)
  3. → 단, 하나의 추상 메서드만 허용 / default 와 static 메서드에 대한 추가 정의가 불가 !
  4. default 메서드를 포함할 수 없음
  5. 정적 메서드만 포함 가능

정답: 2. 반드시 하나의 추상 메서드

 

 

 

6. 빌더 패턴의 주요 이점은 무엇입니까?

  1. 상속 관계에서 객체를 더 쉽게 생성할 수 있다.
  2. 객체 생성 시 복잡한 생성자 호출을 피할 수 있다. (정답 V) 
  3. 동시성 처리를 쉽게 한다.
  4. 객체의 메모리 사용을 줄인다.

정답: 2. 객체 생성 시 복잡한 생성자 호출을 피할 수 있다.

→ 필드가 많거나 생성자 매개변수가 복잡한 객체를 쉽게 생성하도록 도와줌

7.  MVC 패턴에서 사용자의 입력을 처리하는 역할은 무엇입니까?

  1. Model
  2. View
  3. Controller (정답  (정답 V) V)
  4. → 사용자 입력을 처리하고, 모델과 뷰를 연결하는 역할

정답: 3. Controller

8. 인터페이스의 모든 메서드는 기본적으로 어떤 접근 제어자를 가집니까?

정답: public (모든 메서드는 ‘기본적’으로 public이며, abstract 키워드는 생략 가능)

→ 자바 9부터 private 메서드를 인터페이스 내부에서 사용 가능

9. 추상 클래스와 인터페이스의 주요 차이점 중 맞지 않는 것은 무엇입니까?

  1. 추상 클래스는 생성자를 가질 수 있다. VS 인터페이스는 생성자를 가질 수 없다.
  2. 인터페이스는 다중 상속을 지원한다. VS 추상 클래스는 다중 상속을 지원하지 않는다.
  3. 인터페이스는 필드를 가질 수 없다. VS 추상 클래스 필드를 가질 수 있다.
  4. 추상 클래스는 정적 메서드를 가질 수 없다. (정답 V)

정답: 4. 추상 클래스는 정적 메서드를 가질 수 없다

→ 추상 클래스는 static 메서드를 가질 수 있음 !

→ 인터페이스도 static 메서드를 가질 수 있음 !

포함

 

------------------------------- ------------------------------- -------------------------------

 

 

여기까지 간단하게 문제들을 알아봤는데요.

 

저는 처음 문제를 봤을때 머리속에 있는걸 꺼내지를 못해 대부분 맞추질 못했답니다.

 

여러분들은 어떤가요?

 

 

 

'Backend > Java' 카테고리의 다른 글

싱글톤 (Singleton)  (4) 2025.07.24
제네릭 (Generic)  (4) 2025.07.23
Java의 기초 테스트 1편 - 코딩 해설  (7) 2025.07.22
Java의 기초 테스트 1편 - 코딩  (4) 2025.07.21
Lombok 설정 방법  (4) 2025.07.17