
call by reference는 메서드의 인자 또는 반환 값으로 객체의 참조값을 사용하는 것을 말합니다. 객체의 참조값은 실제 메모리의 주소이므로, 해당 참조값을 사용하여 객체 내부의 값을 변경할 경우 실제 메모리에 값이 바뀌기 때문에 사용에 주의해야 합니다. 의도치

프로그래밍을 위한 패러다임 중 하나로, 명령어를 바이너리 코드로 변경 및 실행시켜주는 컴퓨터적인 사고에서 벗어나 인간의 사고에 좀 더 가까운 프로그래밍을 위해서 독립적인 하나의 객체를 만들고 객체 간의 상호작용을 통해 프로그램을 실행시켜주는 것을 말합니다.객체지향 프로

두 메모리 모두 JVM Runtime Data Area라는 JVM 메모리 내 영역에 속합니다.스택은 저희가 일반적으로 알고 있는 LIFO 자료 구조의 형태를 띕니다.스택에는 일반적으로 저희 메서드 내에서 사용되는 지역 변수, 파라미터 등과 같은 변수공간을 의미합니다.

자료구조는 데이터를 담기 위한 구조를 의미합니다. CS 관점에서 보면, 데이터의 집합을 의미하며 담긴 데이터들의 저장형태를 결정하는 것을 말합니다.알고리즘은 어떤 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것을 말합니다. 즉, 어떤 사람이

사용자가 웹브라우저에 URL을 입력합니다.브라우저는 DNS를 통해서 서버의 실제 주소(IP 주소)를 찾습니다.HTTP 프로토콜을 통해 HTTP 요청 메시지를 생성합니다.TCP/IP 연결을 통해서 HTTP 요청이 서버로 전송됩니다.서버는 HTTP 프로토콜을 활용하여HTT

메모리, 디스크 - 휘발성, 연산속도브라우저의 작동 방식에 대해서 설명해주세요.

쿠키와 세션 모두 간단한 데이터를 저장하는 공간을 의미합니다.쿠키는 브라우저에 저장되는 공간이며, 세션은 서버측에 저장되는 공간입니다.세션은 보안적인 측면에서 쿠키보다 안전하지만, 서버에 저장하기 때문에 서버 성능 저하의 원인이 될 수 있습니다.쿠키는 브라우저에 저장하

면접준비 예상질문 운영체제란 무엇인가요? 커널이란 무엇인가요? 프로세스와 스레드의 차이는 무엇인가요? 프로세스 프로세스는 메모리 위에서 실행되는 프로그램을 말합니다. 독립적인 메모리 영역을 할당받습니다. 프로세스 간의 데이터 통신을 위해서는 IPC를 사용해야 합니

면접 준비 예상 질문 DI, IoC에 대해 설명해주세요 IoC는 제어의 역전을 의미하며 프로그램의 흐름을 개발자가 아닌 프레임워크가 제어하는 설계 원칙을 말합니다. 프레임워크가 실행 흐름을 제어하고 필요한 객체를 주입하거나 호출합니다. 이로 인해 애플리케이션 코드

Spring Data JPA를 사용하는 경우, JPQL을 사용하여 쿼리를 직접 정의하여 복잡한 쿼리를 구현했습니다.좀 더 자세히 설명드리면, 최근에 진행한 부탁해라는 프로젝트에서, 주문의 상태에 따라 배송중, 배송 완료 등의 상태 변경을 하는 기능을 구현했던 적이 있습

데이터베이스의 설계에서 데이터의 중복을 허용하지 않고, 저장 용량을 최소화해줌으로써 데이터베이스를 보다 효율적으로 설계하는 과정을 말합니다.정규화의 주요 목적은 이상현상(anomalies)을 최소화하고 데이터베이스의 효율을 높이는 것입니다.정규화는 테이블을 분해하는 방

자바의 장점은 다음과 같습니다.1\. 플랫폼 독립성 : 자바는 Write Once, Runtime Anywhere 원칙을 따르며, 컴파일된 자바 코드는 다양한 운영체제에서 실행 가능합니다.(JVM 덕분)2\. 객체 지향언어 : 자바는 객체 지향 프로그래밍 패러다임을 지

참고 포스팅 : https://dev-coco.tistory.com/153Java는 객체지향언어 이다.기본 자료형을 제외한 모든 요소들이 객체로 표현되어 있다.객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어이다.장점JVM 위에서 실행되기 때문

객체 중심의 프로그래밍 기법으로, 객체 간의 상호작용을 통해 요구사항에 적합한 기능을 프로그래밍하는 것을 의미한다.단일 책임 원칙(SRP) : 하나의 클래스에는 하나의 책임만 가져야 하며, 이를 변경하는 이유가 단 하나의 이유여야 하는 것을 의마한다. 일례로 회원가입에

참고 : https://mangkyu.tistory.com/91사용자가 브라우저에 URL을 입력브라우저는 DNS를 통해 실제 주소를 찾음HTTP 프로토콜을 사용해 HTTP 요청 메시지를 생성TCP/IP 연결을 통해 HTTP 요청이 주소의 서버로 전달서버는 요청

MVC는 모델 - 뷰 - 컨트롤러 구조의 널리 사용되는 소프트웨어 디자인 패턴이다. 소프트웨어 내에 뷰와 비지니스 로직을 구분하는데 중점을 둔 패턴이다. 이와 같은 관심사 분리를 통해서 업무의 분리와 향상된 관리를 제공한다.MVC 소프트웨어 디자인 패턴의 세가지 부분에

autoboxing은 자바 컴파일러에 의해서 원시타입과 해당하는 wrapper 클래스 간에 자동으로 형변환되는 것을 말한다.autoboxing은 오류를 방지하기 위해 컴파일러 시점에 컴파일러가 자동 형변환 해주므로 편리하지만, 남용하게 될 경우에 불필요한 로직을 수행하

JAVA 8 버전부터 사용 가능한 기술로서, 인터페이스 내부에 추상 메서드 외에 구현된 메서드 정의가 가능하도록 해준다. 이를 사용하는 이유는 크게 2가지 정도가 존재한다.하위 호환성 :인터페이스를 구현한 여러 클래스가 존재할 때, 인터페이스 내 관련 메서드를 추가하게

우선, 두 메서드는 stream을 반환하는 중간 연산자다.map은 스트림 내 각 요소들을 1:1로 변환해준다. 반면에, flatMap은 중첩된 구조를 한 단계 평면화해준 뒤 변환해준다. 즉, Stream of Stream 구조를 단일 Stream 구조로 변경해준다.

추상 타입의 API 디자인을 선호.SOLID 원칙 중 의존성 역전 원칙(DIP)과 리스크프 치환 원칙(LSP)을 따르는 설계. 구체 클래스가 아닌 추상화에 의존함으로써 결합도를 낮추고 유연성을 높일 수 있다.그리고, 실제 API를 사용하는 클라이언트는 구체적인 구현체의

==는 연산자로써, 원시타입을 비교 시 값을 비교하고, 참조타입을 비교 시 참조값을 비교한다.equals는 Object 클래스 내 정의된 메서드이다. 기본적으로 == 연산자와 동일하게 동작하지만, 객체 내부의 값들의 같음 여부를 확인하도록 하기 위해서는 equals 메

@Autowired 어노테이션은 주로 필드 주입 방식에서 사용되며, 이는 여러 단점들이 존재한다.우선, 불변성 확보가 어렵다. 이는, 필드에 @Autowired를 붙이게 되면, final을 선언할 수 없게 되므로, 불변성을 확보하지 못한다.그 다음으로, 순환참조 감지가

변수에 선언하게 될 경우, 해당 변수는 초기에 선언과 동시에 반드시 초기화 되어야 하고 이후에 변하지 않는 불변의 값을 가진 변수를 의미하게 된다.하지만, 이는 원시타입의 경우이고, 참조타입의 경우에는 해당 참조갑이 불변이고, 내부 필드들에 대해서는 불변이 적용되지 않

프로젝트 진행 중 프론트 서버가 HTTPS로 전환되면서, 백엔드 서버와의 통신이 보안상 불가능해져 이를 해결하고자 백엔드 서버에서도 SSL 인증서 발급 및 HTTPS 전환을 진행해보려고 합니다. 또한, 이전 면접에서 간혹, HTTP와 HTTPS 간의 차이점과 HTTPS

위는 메서드에 synchronized를 선언한 방식이다.이는 메소드 전체가 동기화 블록이 된다.해당 메소드가 속한 객체(this)를 기준으로 lock을 건다.같은 객체의 다른 synchronized 메소드들도 동시에 실행될 수 없다.간단하게 사용은 가능하지만, 메소드

참고 블로그https://f-lab.kr/insight/understanding-java-reflectionhttps://hudi.blog/java-reflection/https://velog.io/@alsgus92/Java-Reflectio

참조 블로그https://devpad.tistory.com/100https://tuxcare.com/ko/blog/openjdk-vs-oracle-jdk-which-one-should-you-choose/자바언어는 썬 마이크로시스템즈에서 출시된 이후