본문 바로가기

전체 글70

[Java] 객체 지향의 4대 특성 (다형성:사용편의성) (작성중) 보호되어 있는 글 입니다. 2021. 9. 27.
[Java] 객체 지향의 4대 특성 (상속: 재사용 + 확장) (작성중) 보호되어 있는 글 입니다. 2021. 9. 27.
[Java] 객체 지향의 4대 특성 (추상화:모델링) (작성중) 보호되어 있는 글 입니다. 2021. 9. 27.
[Java] 객체 지향의 4대 특성 (캡슐화:정보 은닉) 본 글은 📚 스프링 입문을 위한 자바 객체지향의 원리와 이해 를 읽고 정리한 내용입니다. 캡슐화 : 정보 은닉 자바에서 정보 은닉(information hiding)이라고 하면 접근 제어자인 private, [default], protected, public이 생각날 것이다. 간단하게 접근 제어자에 대해 설명을 하고 넘어가자면 접근제어자는 private -> default -> protected -> public 순으로 보다 많은 접근을 허용한다. public : 누구나 접근할 수 있을 때 사용한다. protected : 같은 패키지 내에 있거나 상속을 받은 경우에만 접근할 수 있다. default : 접근 제어자를 별도로 설정하지 않는다면 default 또는 package-private이라고도 불린다... 2021. 9. 26.
[Java] 자바와 객체지향 본 글은 📚 스프링 입문을 위한 자바 객체지향의 원리와 이해 를 읽고 정리한 내용입니다. 객체지향을 이해하기 위해 먼저 큰 그림을 생각해보자. 세상에 존재하는 모든 것은 사물, 즉 객체(Object)이다. 각각의 사물은 고유하다. 사물은 속성을 갖는다. 사물은 행위를 한다. 그리고 사물을 하나하나 이해하기 보다 사물을 분류(class)해서 이해하는 것이 인간의 인지법이다. 직립보행을 하며 말을 하는 존재를 사람이라고 분류한다. 연미복, 짧은 다리, 날지 못하는 새를 펭귄이라고 분류한다. 밤하늘에 반짝이는 사물들을 별이라고 분류한다. 김종민(Object), 김연아(Object), 수지(Object)라고 하는 존재는 사람이라고 하는 분류(class)에 속한다. 그리고 사람은 나이, 몸무게, 키라는 속성(pr.. 2021. 9. 26.
[Java] 멀티 스레드/ 멀티 프로세스의 이해 본 글은 📚 스프링 입문을 위한 자바 객체지향의 원리와 이해 를 읽고 정리한 내용입니다. 프로그램이 메모리를 사용하는 방식은 코드 실행 영역과 데이터 저장 영역으로 나뉘고, 객체 지향 프로그램에서는 위의 그림과 같이 데이터 저장영역을 다시 세 개의 영역으로 분할해서 사용한다. 멀티 스레드(Multi Thread)의 T 메모리 모델은 스택 영역을 스레드 개수만큼 분할해서 쓰는 것이다. 아래의 그림을 참고하자. 멀티 프로세스(Multi Process)는 다수의 데이터 저장 영역, 즉 다수의 T 메모리 모델을 갖는 구조이다. 아래의 그림을 참고하자. 멀티 프로세스 각 프로세스마다 각자의 T메모리가 있고 각자 고유의 공간이므로 서로 참조할 수 없다. 하나의 프로세스가 다른 프로세스의 T메모리 영역을 절대 침범할.. 2021. 9. 26.
[Java] JDK, JRE, JVM 에 대해 간단히 살펴보기 JDK (Java Development Kit) - 자바 개발 도구 : JVM용 소프트웨어 개발 도구 JRE (Java Runtime Environment) - 자바 실행 환경 : JVM용 OS JVM (Java Virtual Machine) - 자바 가상 기계 : 가상의 컴퓨터 자바 개발도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM 상에서 구동된다. 다만 배포되는 JDK, JRE, JVM은 편의를 위해 JDK가 JRE를 포함하고 다시 JRE는 JVM을 포함하는 형태로 배포된다. 위의 그림처럼 JDK는 자바 소스 컴파일러인 javac.exe를 포함하고 있고, JRE는 자바 프로그램 실행기인 java.exe를 포함하고 있다. 참고 - 스프링 입문을 위한 자바 객체지향의 원리 2021. 9. 26.
쿠키(Cookie)와 세션(Session)에 대해서 (정의, 차이점) 쿠키와 세션은 왜 필요할까? 웹브라우저(이하 클라이언트)와 웹서버(이하 서버)는 HTTP 프로토콜로 통신을 주고받는다. HTTP 프로토콜은 connectionless(비연결성) 방식으로 작동한다. 이는 서버에 연결을 요청하고, 요청한 건에 대해 응답을 받으면 연결을 끊어버리는 것을 말한다. 이러한 특징으로 인해 서버는 클라이언트를 기억하고 있지 않으며 이를 stateless(상태를 가지고 있지 않음) 라고 한다. 이러한 stateless의 특징으로 인해 번거로움이 발생한다. 예를들면, 사용자가 쇼핑몰에 로그인을 한 뒤 상품을 클릭하게 되면 로그인을 한 상태를 기억하고 있지 않기 때문에 또 다시 로그인을 해야하는 경우가 발생한다. 그리고 결제창으로 넘어갈 때 역시 또 다시 로그인을 해야한다. 이러한 문제를.. 2021. 9. 19.
[6주차] 멘토링 키워드 주절주절,, 자바의 신 책을 다 읽고(다 읽었다고 했지만 꼼꼼히 한 번 더 봐야할 것 같다) 드디어 JSP책으로 넘어갔다. 괜히 새 책이라 그런가 새학기 들어가서 새로운 과목을 처음 배울때처럼 설레고 흥미로웠다. JSP책 관련 질문은 JSP의 기본동작 원리와 쿠키 세션에 대한 내용이 주를 이루었다. 멘토링을 진행하고 난 뒤 다음날 중복 로그인 문제로 세션관련 코드를 보게되었는데 괜히 책에서 읽었던 내용 보게되서 괜히 반가웠다 ㅎㅎ 아무튼 오늘도 멘토님께서 언급해주신 키워드를 하나씩 알아보자! 📝Restful API REST 란 웹(HTTP)의 장점을 최대한 활용할 수 있는 아키텍쳐이다. REST API(REpresentational State Transfer)는 REST 아키텍쳐 스타일을 따르는 API로.. 2021. 9. 19.
[5주차] 멘토링 키워드 정리 벌써 다음주면 멘토링 6주차에 접어든다. 6주동안 두꺼운 책을 읽으면서 그동안 몰랐던 자바의 기능들을 발견했다.. 그동안 나름 공부한다고 공부를 했지만 온전히 내 것으로 만들지는 못하는 것 같다. 왜냐면 막상 멘토님께서 질문을 하시면 난 대답을 자신있게 하지 못하기 때문이다.. 머릿속으로는 그려지고 어떤것인지도 알고는 있는 것 같은데 조리있게 대답이 안된다...나중에 면접에서도 그럴 것 같아서 무섭다..ㅠ 책을 읽을 때 이해하고 적용시키는 것도 좋지만 스스로에게 질문을 던지면서 대답하는 습관을 들여봐야겠다. 멘토님께서 멘토링 시간에 질문에 대해 대답하지 못한것, 또는 더 깊게 알아보면 좋을 것 같은것들을 멘토링이 끝난 후에 정리해서 보내주신다. 오늘은 이 내용들에 대해서 알아보고 정리하는 시간을 가져보겠.. 2021. 9. 12.