안녕하세요. 성조입니다. 이번 포스팅에서는 자바 언어의 박싱과 언박싱에 대해서 정리해 보려 합니다. 혹여나 잘못된 지식 전달이 있다면 언제든지 댓글로 얘기해 주시면 감사드리겠습니다. 박싱(Boxing) 박싱은 원시 타입의 값을 해당하는 래퍼 클래스(Wrapper class)의 객체로 변환하는 것을 말한다. 각각의 원시 타입에는 해당하는 래퍼 클래스가 있어서 그 원시 타입의 값을 객체로 다룰 때 사용하는 것이 박싱이다. 'int' 타입의 래퍼 클래스는 'Integer'이며, 'double' 타입의 래퍼 클래스는 'Double'이다. 박싱은 직접 래퍼 클래스의 생성자를 호출하여 수행할 수 있지만 자바 5 버전 이후로 자동 박싱(Autoboxing)이라는 기능을 통해 이 과정을 자동으로 처리할 수 있게 됐다...
안녕하세요. 성조입니다. 이번 포스팅에서는 DI(Dependency Injection)와 묶음으로 자주 설명되는 IoC 컨테이너(Inversion of Control)에 대해서 정리해 보려 합니다. 혹여나 올바르지 못한 지식이 전달되고 있다면 언제든지 댓글 남겨주시면 감사드리겠습니다! DI의 개념이 필요한 곳입니다. DI를 검색해서 학습하시거나 아래의 포스팅을 읽고 이해한 후 진행해 주시면 감사드리겠습니다. 2023.04.04 - [Java ☕/Spring] - [Spring] DI(Dependency Injection)이란? [Spring] DI(Dependency Injection)이란? okeybox.tistory.com IoC (Inversion Of Control)란? IoC는 제어 역전, 제어..
안녕하세요. 성조입니다. 이번 포스팅은 호출 스택(Call Stack) 개념에 대해서 정리해 보려 합니다. 혹여나 잘못된 지식을 전달했다고 생각하시면 언제든지 댓글로 피드백 남겨주시면 감사드리겠습니다! 호출 스택(Call Stack)이란? 호출 스택은 MDN 홈페이지에 다음과 같이 나와있다. "호출 스택은 여러 함수들(functions)을 호출하는 스크립트에서 해당 위치를 추적하는 인터프리터(웹 브라우저의 자바스크립트 인터프리터 같은 것.)를 위한 메커니즘입니다." [본인 의견] 프로그램에서 함수의 호출 순서를 추적하는 데이터 구조이다. 호출 스택은 현재 어떤 함수가 실행되고 있는지, 그 함수 내부에서 그리고 다음에 어떤 함수가 존재하는지 판별하여 제어한다. 즉, 함수가 동작하면서 다음 함수가 있거나 없..
안녕하세요. 성조입니다. 이번 포스팅은 HTML과 CSS를 활용해서 가볍게 하단에 고정된 메뉴바를 만들어보려고 해요. 만들게 된 이유는 티스토리에서 포스팅하다 보면 미리 보기, 맞춤법, 글감 검색, open source ~~ 임시저장 완료 같은 버튼이 있는 것을 보고 그냥 저런 기능도 가볍게 연습 삼아 만들면 좋겠다 싶어서 만들게 됐습니다. 예시 이미지 HTML 코드 메뉴 1 메뉴 2 메뉴 3 CSS 코드 .menu { background-color: #f2f2f2; padding: 10px; position: fixed; width: 100%; bottom: 0; left: 0; } .menu-details ul { list-style-type: none; margin: 0; padding: 0; te..
안녕하세요. 성조입니다. 2023.01.28일에 TDD 세미나를 진행한 적이 있었는데 스터디만 진행 후. 정리하는 포스팅하지 못했던 아쉬움이 남아서 이번 포스팅을 기회로 TDD(Test-Driven Development, TDD)에 대해서 정리 포스팅을 해보려고 합니다. 올바른 지식을 공유할 수 있도록 혹여나 잘못된 지식이 전달된다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다! TDD(Test-Driven Development, TDD)란? Test-Driven Development는 소프트웨어 개발 방법론 중 하나로, 개발 과정에 있어서 테스트가 중심적인 역할을 하는 방식이다. [상세 설명] 더보기 테스트 주도 개발(TDD)은 테스트를 먼저 작성하고, 그 테스트를 통과하는 코드를 작성하는 개발 방법..
안녕하세요. 성조입니다. 이번 포스팅은 전공 변경 이후에 처음 봤던 개념이며, 정의했던 내용이었는데 파이썬 기준으로는 정의를 해본 경험이 있지만 자바 언어를 기준으로 정리해 보지 않았던 것 같아서 시간 내서 정리해 봅니다. 잘못된 지식 전달 사항이 있다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다. 결론 - Java는 기본적으로 Call by Value 방식을 사용한다. 그러나 객체 전달할 때는 참조가 전달되기 때문에 원본 객체의 내용을 변경하는 것이 가능한 것이다. - Java는 포인터와 같은 직접적인 메모리 접근 방식이 없어서 C/C++ 에서와 같은 참조에 의한 호출은 정확하게 구현할 수 없다. [정리] 비교 Call by Value (값에 의한 참조) Call by Reference (주소에 의..
안녕하세요. 성조입니다. 이번 포스팅은 메서드 오버로딩(Overloading)과 오버라이딩(Overriding)에 대해서 정리하는 포스팅을 진행해 보려 합니다. 혹여나, 올바르지 못한 지식 전달 정보가 있다면 언제든지 댓글로 피드백 남겨주시면 감사드리겠습니다!메서드 오버로딩과 오버라이딩 선 정리- 같은 클래스 내에서 이뤄지며 메서드 이름은 같지만 매개변수의 유형이나 개수가 다른 것을 오버로딩(Overloading)이라 한다. 또한, 상속받은 메서드도 오버로딩 할 수 있다. 이 부분은 아래 설명을 조금 더 읽는 것을 권장한다. - 상속 관계에 있는 클래스 간에 발생하며 메서드 이름, 매개변수 및 반환 타입이 모두 같은 것을 오버라이딩(Overriding)이라 한다. [비교 정리 표]비교오버로딩(Overlo..