CS

[항해 취업코스] 개발자 취준 기록 1일차

Ynghan 2024. 3. 6. 01:35

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

First. 변수의 값을 인자로 사용할 때, 해당 변수 자체를 사용하고 싶은 경우 포인터를 통해 사용된다.
Second. Call by reference는 메서드에 변수를 인자로 전달할 때, 그 변수의 원래 주소를 전달하는 방법을 의미합니다. 따라서, 메서드 내에서 이 변수를 조작하면 원래 변수의 값이 변경됩니다. 이 방식은 원래의 값을 변경하고 싶을 때, 또는 큰 데이터 구조를 복사하는 비용을 피하고 싶을 때 주로 사용됩니다.

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

First. Overload는 메서드를 생성하는 생성자의 인자의 종류의 차이를 통해 여러 방식으로 객체를 생성할 수 있도록 하는 설정 방식이고,
Override는 부모 엔티티 메서드를 메서드 명, 파라미터 등의 형식을 일치 시켜 해당 메서드를 사용할 때, 어떤 객체를 생성했는지에 따라, 다른 메서드를 사용할 수 있도록 하기 위한 설정 방식이다.
Second. 메서드 오버로딩(Overload)은 같은 이름의 메서드를 여러 개 가지지만 매개변수의 타입, 개수, 순서가 다른 경우를 의미합니다. 이를 통해 같은 이름의 메서드를 여러 가지 방법으로 사용할 수 있습니다.
반면, 메서드 오버라이딩(Override)은 상속 관계에 있는 클래스에서 상위 클래스가 가지고 있는 메서드를 하위 클래스에서 재정의하는 것을 말합니다. 이를 통해 같은 이름의 메서드가 다른 행동을 수행하도록 할 수 있습니다.

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

First. JPA는 엔티티와 DB 테이블을 매핑시키기 위한 ORM 기술을 위해 필요하고, 직접 쿼리를 사용하는 경우에는 필요하지 않다.
Second. JPA(Java Persistence API)는 자바에서 제공하는 ORM(Object-Relational Mapping) 기술로, 객체와 데이터베이스 테이블 사이의 매핑을 돕습니다. JPA를 사용하면 SQL을 직접 작성하지 않고도 데이터베이스 작업을 수행할 수 있습니다. 
따라서 복잡한 쿼리 작성 없이도 객체 지향적으로 데이터를 다룰 수 있어 필요한 경우가 많습니다. 
하지만, JPA는 복잡한 쿼리나 성능 최적화가 필요한 경우에는 직접 쿼리를 작성하는 것이 더 효율적일 수 있습니다. 
따라서 이런 경우에는 JPA보다는 JDBC와 같은 기술을 사용할 수 있습니다.