1. 왜 이 글을 쓰게 되었는가1) 글을 쓰게 된 계기"자바의 신 Vol 1: 기초 문법편 3rd Edition"을 읽던 중에 "Pass by value" 주제에서 시작됐다. String 문자열 객체가 메서드의 매개변수로 전달되어, 해당 메서드에서 객체의 값이 수정될 거라고 생각했다. 하지만, 생각했던 것과 달리 String 문자열 객체가 변경되지 않아서 해당 개념을 바로잡고자 글을 쓰게 됐다. 2) 필자의 배경 수준- Java : 중 - 기본 문법 이해 (코딩테스트 주력 언어) - 프로젝트 경험 보유 - 기본형 / 참조형 자료형 구분 - JVM 메모리 구조(T구조 - 스택, 힙, 스태틱) 얕게 이해 2. 문제 상황과 코드public class ReferencePass { public sta..
CS/Java
안녕하세요! 이번 글에서는 자바의 프로그램 실행 구조에서 메모리는 어떻게 사용되는가, 그리고 그 기반이 되는 절차적/구조적 프로그래밍 유산에 대해 살펴보겠습니다.특히 자바의 실행 환경(JVM)이 어떻게 메모리를 나누고 관리하는지 이해하는 것은,이후 객체지향과 스프링의 구조를 파악하는 데도 큰 도움이 됩니다.🧠 T메모리란?T메모리는 JVM이 자바 프로그램을 실행할 때 사용하는 메모리 구조입니다.이 구조는 크게 세 가지 영역으로 나뉘며, 스레드(Thread) 단위로 생성되기 때문에 T메모리(Thread Memory)라고 부릅니다.메모리 영역설명static 영역클래스와 static 멤버들이 올라가는 공간stack 영역메서드 호출 시 생성되는 지역 변수 공간heap 영역new로 생성한 객체들이 저장되는 공간?..
스프링 입문을 위한 자바 객체 지향의 원리와 이해 1장 - 사람을 사랑한 기술, Java 역사 이야기안녕하세요! 오늘은 자바의 탄생 배경과 발전 과정에 대해 이야기해보려고 합니다. 프로그래밍 언어의 역사를 통해 자바가 왜 '사람을 사랑한 기술'이라고 불리는지 함께 알아보겠습니다.🖥️ 기계어에서 객체 지향 프로그래밍 언어로기계어 - 0과 1의 행진프로그래밍의 시작은 기계어였습니다. 인류 최초의 프로그래머들은 꺼진 상태와 켜진 상태를 0과 1로 해석할 수 있는 '백열전구'를 이용해 프로그램을 작성했습니다.💡 역사적 의미애드삭(EDSAC): 2진법을 적용한 세계 최초의 프로그램 내장 방식 전자 계산기유니박(UNIVAC): 최초의 상업용 컴퓨터흥미로운 점은 프로그래밍 언어들이 서로를 모방하고 창조하면서 발전..