추상메서드가 1개만 정의된 인터페이스두 개 이상의 메서드 선언 시 컴파일 오류가 발생역할: 하나의 인자를 받아 특정 작업을 수행하지만, 결과값을 반환하지 않는다.주요 메서드 : void accept(T t)역할 : 인자를 받지 않고, 결과값을 제공하는 역할을 한다. 즉
객체 지향 프로그래밍(OOP)에서 소프트웨어 설계를 더 이해하기 쉽고, 유연하며, 유지보수가 용이하도록 만드는 다섯 가지 원칙 1) SRP(Single Responsibility Principle ) 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. SR

자바로 개발을 하다 보니 GC, JVM, G1 같은 용어들을 자주 접하게 되는데, 그 개념은 대충 알고 있지만, 좀 더 명확하게 정리해둘 필요가 있다는 생각이 들었다. 📌 Garbage Collection(GC) 가비지 컬렉션(Garbage Collection(G
기본 개념은 항상 까먹을 수 있다. 따라서 정리를 해놓을려고 하는데 문답식으로 정리할 예정이고 아 맞다 이런거였지! 정도로만 기록할려고 한다. 📌 자바(Java)에 대해 설명해주세요 객체지향 프로그래밍 언어이며 JVM(java virtual machine) 위에서

자바의 경량스레드 모델인 Virtual Thread를 한번 정리해볼려고 한다. 한번도 제대로 사용해본 경험은 없지만 그래도 개념을 정리해놓으면 나중에 적용하게 될 일이 생기면 좋지 않을까 생각한다. > 간단하게 프로세스와 스레드의 차이점은 프로세스는 운영체제로부터 자

요즘 이력서를 쓰느라... 면접 보느라... 코테 하느라... 너무 바쁜 일상을 보내고 있다. 어제는 여자친구랑 세계불꽃축제를 구경하며 리프레시를 했지만 해야할게 너무 많다!! 오늘은 쓰레드에 대해 좀 더 약간 공부를 해볼려고 한다...(쓰레드는 너무 어려워... 😭

벌써 추석이 다가오고, 졸업한 지 두 달이 다 되어간다. 면접을 조금씩 다녀보면서 여러 회사의 사무실에 들어가보니, 그곳에서 실제로 일하고 싶은 열망이 점점 더 커진다. 눈앞에 펼쳐진 현실을 직접 마주할수록, 내가 배우고 성장해야 할 것들이 얼마나 많은지도 느낀다.하지
사실 자바 코드를 작성만 해봤지, 깊게 정리하려고 한 적은 없었던 것 같다. 매번 ‘빨리 취업해야지!’라는 생각에 조급하게 프로젝트만 하고, 기본 개념만 대충 훑고 넘어가니 면접 때 조금만 깊게 들어가도 대답을 제대로 못 했다. 그럴 때마다 내 자신이 한심하게 느껴졌다
매번 오버로딩(Overloading), 오버라이딩(Overriding)… 솔직히 개념 자체는 알고 있었고, 실제로 여러 번 사용도 해봤다. 그런데 가장 중요한 걸 놓치고 있었다. ‘왜 사용하는데? 어떤 상황에서 써야 하는데?’이 질문이 나오면 항상 헉… 하면서 당황했다

자바 멀티스레드 환경에서 프로그램을 만들다 보면, 의도치 않은 결과가 나오는 경우가 많다. 이런 상황에서 자주 등장하는 키워드가 있다. 바로 synchronized다. 오늘은 synchronized를 조금 더 깊게 정리해보려고 한다.synchronized를 이해하려면
얼마 전 멀티스레드 환경에서 발생한 가시성 문제를 해결하기 위해 volatile 키워드를 사용한 적이 있다. 그 과정에서 이 키워드가 정확히 어떻게 동작하는지, 그리고 언제 사용해야 하는지 궁금해졌다. 이번 글에서는 volatile의 동작 원리와 특징을 정리해보겠다.

예전에 GC(Garbage Collection) 에 대해 간단히 정리한 적이 있지만, 내용이 다소 얕았던 것 같아 이번에 다시 깊이 있게 정리해보려 한다. GC는 자바 메모리 관리에서 매우 중요한 개념이기 때문이다.자바의 Garbage Collection(GC) 은 J
오늘은 락(Lock)에 대해서 조금 공부해보려고 한다. 자바에서 멀티스레드 환경을 다루다 보면, 여러 스레드가 동시에 같은 자원에 접근할 때 문제가 생길 수 있는데, 이런 걸 막기 위해 락을 사용한다. 이번에는 특히 ReentrantLock과 ReentrantReadW