cs지식 정리하기/면접 대비

[1일차] 기술 면접 준비

젤리의it 2024. 3. 11. 20:31

1. Call by reference란 무엇이고 보통 어떻게 쓰이나요?

Call by Value (값에 의한 호출): 메소드에 변수를 전달할 때, 해당 변수의 값이 복사되어 메소드 내에서 사용됩니다. 따라서 메소드 내에서 변수의 값을 변경하더라도 호출자의 변수는 변경되지 않습니다. 스프링에서는 메소드 호출 시 일반적으로 Call by Value 방식을 따릅니다.

Call by Reference (참조에 의한 호출): 메소드에 변수를 전달할 때 변수의 참조(메모리 주소)가 전달되며, 메소드 내에서 변수를 수정하면 호출자의 변수도 변경됩니다. 이것은 자바에서 직접 지원하지 않습니다.스프링에서는 이러한 방식을 직접 사용하지 않고, 대신 객체를 전달하여 객체 내부의 상태를 변경할 수 있습니다. 스프링(Spring)은 Java에서 메소드 호출 시 "Call by Value" 방식을 따릅니다. 이는 메소드에 변수를 전달할 때 해당 변수의 값이 복사되어 전달되며, 따라서 메소드 내에서 변수의 값을 변경해도 호출자의 변수는 변경되지 않습니다.

 

2. Override 와 Overload 를 설명해주실 수 있을까요?

Override(오버라이딩) 은 부모 클래스의 메소드 동작을 재정의 하여 사용하는 것 입니다. 메소드의 이름이 일치해야 하고 메소드 매개변수의 개수, 순서 그리고 데이터 타입 일치해야 합니다. 메소드의 return 타입이 일치해야 합니다.Overload(오버로딩)은 메소드 이름은 같지만 파라미터의 수나 타입이 다른 메소드를 중복으로 선언하는 것 입니다. 메소드 매개변수의 개수, 순서 그리고 데이터 타입 일치하지 않아야합니다. 메소드의 return 타입이 일치하지 않아도 됩니다

 

3. JPA는 언제 필요하고 언제 필요하지 않은지 설명해주실 수 있을까요?

JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준입니다. JPA는 JDBC API를 사용해서 데이터베이스와 데이터를 주고 받습니다. JPA는 CURD 작업을 단순화하고 유지보수성 향상, 쿼리 언어를 사용 합니다. 아래와 같은 경우에 필요합니다. 복잡한 데이터베이스 관계, CRUD 작업이 자주 발생하는 경우, 패러다임의 불일치 하는 등의 경우 입니다. 아래외 같은 경우 JPA를 사용하는 것이 좋지 않습니다. 너무 간단한 프로젝트 높은 트랜잭션의 처리가 필요한 경우 JPA의 오버헤드가 성능에 영향을 줄 수 있습니다. 쿼리가 복작하지 않은 경우 직접 SQL을 사용하는 것이 더 효과적일 수 있습니다.

'cs지식 정리하기 > 면접 대비' 카테고리의 다른 글

[6일차] 기술 면접 준비  (0) 2024.03.25
[5일차] 기술 면접 준비  (0) 2024.03.20
[4일차] 기술 면접 준비  (0) 2024.03.19
[3일차] 기술 면접 준비  (1) 2024.03.13
[2일차] 기술 면접 준비  (0) 2024.03.12