분류 전체보기(185)
-
자바의 캡슐화 - Private, Protected, Default, Public
[ 작성 이유 ] 자바에 관한 책들을 보면 자바의 객체지향적 특징으로 캡슐화, 상속, 추상화, 다형성을 언급하는 곳이 많았다. 그런데 책의 내용을 읽으면 나머지는 어느정도 이해가 됐지만 캡슐화는 접근자에 관한 이야기와 범위에 관한 내용 외에는 머리에 남는 내용이 없었다. 하지만 뭔지는 몰라도 'public 막쓰면 안돼요.', 'setter 쓰지 마세요.', 이런 말들은 강의를 듣거나 남의 코드 리뷰를 보면 많이 나오는 피드백이다. 이 이유들에 관해서 나름대로의 생각을 적어보려고 한다. 아직 디자인 패턴 및 클린코드에 대해서 배우지는 않았지만 Spring을 공부하면서 혹은 Java를 공부하면서 든 생각이니 착각하는게 있다면 바로 잡을 수 있게 도와주었으면 한다. [ 캡슐화 ] 캡슐화의 핵심은 관련이 있는 ..
2024.01.10 -
모든 개발자를 위한 HTTP 웹 기본 지식 - 상태코드(200-500)
보호되어 있는 글입니다.
2024.01.07 -
모든 개발자를 위한 HTTP 웹 기본 지식 - HTTP 메서드 정리
보호되어 있는 글입니다.
2024.01.04 -
인텔리제이 - 디버거 사용하기 1
[ 작성 이유 ] "스프링 입문을 위한 자바 객체 지향의 원리와 이해" 책을 보다보니 JVM의 메모리 구조와 스택 프레임에 관한 이해를 돕기 위해 STS(Spring Tool suite)를 이용해서 Line 별 체크 포인트에 따라 어떻게 변하는 지를 보여주는 대목이 있다. 이 부분을 보는데 인텔리제이를 주로 사용하는 나는 무슨 버튼을 눌러야 하는지에 대해서 전혀 감이 오지 않았다. 그래서 이 부분을 한번 연습해보고 괜찮은 기능을 정리해보려고 한다. [ 디버거 버튼 별 사용 용도 ] 우선 디버거와 관련해서는 다음과 같은 버튼이 있다. 향로님의 게시글에서 가져온 이미지인데 현재 최신버전과는 drop frame 부분이 조금은 다르지만 이 부분을 제외하고 한꺼번에 정리되어있어서 너무 좋은 이미지라고 생각한다. ..
2023.12.28 -
Java의 메모리 구조
[ 작성이유 ] Java 쓰레드 프로그래밍에 관한 강의에서도 그리고 "스프링 입문을 위한 자바 객체 지향의 원리와 이해" 책을 읽으면서 Java의 JVM 메모리를 정확하게 잘 모른다는 느낌이 들었다. 그래서 각각의 영역에 해당하는 변수, 메서드들이 왜 동작이 안되는지를 정확하게 모르는 결과로 이어졌다고 생각이 들었고 이를 정리해보고자 한다. [ 자바의 메모리 ] T메모리는 static 영역, stack 영역, heap영역을 합친 영역이다. static 영역 java.lang과 같은 패키지, import된 패키지, 프로그램 상의 모든 클래스가 static 영역에 배치된다. 내가 짠 코드 중 static 영역에 배치되어야 하는 것은 객체가 필요한 코드 실행 시점이 돼야 static에 올라가게 된다. stat..
2023.12.28 -
JVM, JRE, JDK의 차이가 무엇일까?
[ 작성 이유 ] Java로 개발을 하다보면 JVM, JRE, JDK라는 말을 생각보다 자주 보게 된다. 특히 자바 프로그램을 작성할 때에 인텔리제이 같은 IDE에서 JDK를 설정하고 그걸 gradle 파일에 작성을 해준다. 그런데 가끔씩 돌다보면 JRE 설정 같은 것도 있는데 JVM은 뭐라고 설명을 못하겠지만 대충 알겠지만 JRE는 전혀 몰랐었다. 그리고 JDK를 설정하고 나면 나머지는 세팅할 필요도 없기 때문에 딱히 신경 쓰지 않았지만 책에서 보니 한번 짚어 넘겨봐야겠다는 생각이 들었고 작성을 하게 되었다. [ 용어별 설명 ] JDK : Java Development Kit / 자바 개발 도구 JRE : Java Runtime Environment / 자바 실행환경 JVM : Java virtual ..
2023.12.28