안녕하세요, 지난번 발표에 이어서 또 다시 기술 세미나를 맡아 시작하게 되었습니다. 2024.02.02 - [Language/Java ☕️] - 자바의 가비지 컬렉션 자바의 가비지 컬렉션 안녕하세요, 이번에 Kernel 360 과정에 참여하게 되면서 기술 세미나를 맡아 준비하게 되었는데요. 거의 대부분의 팀들이 Java 와 Spring Framework 환경으로 프로젝트를 진행하고 있었습니다 (역시,, 자 stonehee99.tistory.com 특별히 지난번 가비지 컬렉션 발표에 이어서 또 다른 컬렉션에 대해 발표를 해보면 어떨까? 하는 생각에 (농담입니다) 객체지향에서 크루분들이 어려워하는 개념 중 하나인 일급 컬렉션에 대해 발표를 진행하기로 하였답니다. 일급 컬렉션(first-class-collec..
오늘은 비동기 프로그래밍에 관해 함께 알아보는 시간을 갖도록 하겠습니다. 비동기 프로그래밍에 대해 잘 알기 위해서는 동기와 비동기의 차이를 알아야 합니다. 이 둘의 차이는 무엇일까요? 동기 vs 비동기 동기(Synchronous) 와 비동기(Asynchronous) 는 데이터 처리와 작업 실행 방식을 나타내는 용어입니다. 동기 먼저 동기 방식은 작업들이 순차적으로 진행됩니다. 즉, 한 작업이 완료되기 전에는 다음 작업이 시작되지 않습니다. 이 방식은 작업의 순서가 중요할 때 유용한 방식입니다. 예를 들어, 어떤 데이터를 먼저 처리하고 그 결과를 이용해서 다음 작업을 수행할 경우에 적합하겠죠? 하지만 이렇게 동기적으로 작업이 처리될 경우 전체 작업의 효율성이 떨어질 수 있습니다. 하나의 작업이 지연되면 전..
지난 번 작성된 글 제어의 역전(IOC) 이란? 에서 간단히 알아본 의존성 주입(Dependency Injection)이란 무엇인지 함께 알아보는 시간을 가지도록 하겠습니다! Dependency Injection이란? 의존성 주입(Dependency Injection)은 객체 지향 프로그래밍에서 사용되는 디자인 패턴입니다. 이 패턴은 코드의 결합도를 낮추고, 유연성과 재 사용성을 높이는 것입니다. 지난 게시글에서 알아봤던 것처럼, DI 패턴을 통해 제어의 역전이 일어나고, 이를 통해 코드의 재사용성 유연성이 향상되는 것이죠. 의존성 주입에 대해 알아보기 위해 먼저 의존성이 무엇인지 살펴보겠습니다. Dependency란? 의존성은 어떤 클래스가 제대로 작동하기 위해 필요한 다른 클래스나 컴포넌트를 말합니다..
제어의 역전(Inversion of Control, Ioc)는 소프트웨어 엔지니어링에서 매우 중요한 개념입니다. 이 시간에는 함께 제어의 역전이 무엇을 의미하는지 알아보도록 하겠습니다. 편의상 예제 코드는 Java를 사용하도록 하겠습니다! 제어의 역전 IoC(Inversion of Control) 전통적인 동작 방식 class TraditionalService { private Dependency dependency; public TraditionalService() { this.dependency = new Dependency(); } public void doSomething() { dependency.performAction(); } } class Dependency { public void per..
"자바는 객체지향적 언어이다" 라는 말을 들어보신 적이 있을겁니다. 사실 객체라는 용어는 실생활에서 접하기보단 이렇게 코딩을 하면서 많이 접하게 됐었는데요, 그 때마다 아 객체는 이런거지! 오브젝트는 이런거지! 하고 스스로 명확한 정의를 내린 적은 없었습니다. 그러다가 강의를 보면서 자바 공부를 하고 있었는데, 강사님께서 말씀을 하셨습니다. 자바 개발자라면, 객체지향을 자기 만의 언어로 표현할 줄 알아야한다. 저는 자바 개발자라고 생각해왔었는데... 아니었나봅니다. 오늘은 객체지향 프로그래밍이란 무엇인가 함께 알아보고 진정한 자바 개발자로 함께 성장해나갔으면 좋겠습니다. 객체지향 프로그래밍과 클래스 단위 프로그래밍 객체지향에 관한 정의를 내릴 때 저는 스스로 혼란스러웠던(?) 경험이 많습니다. 누군가는 ..