Java

이전 게시물의 V3에 이어 개선해낸 V4, V5 에 대해 코드와 함께 설명을 하겠다! V4 package hello.servlet.web.frontcontroller.v4; import java.util.HashMap; import java.util.Map; public interface ControllerV4 { /** * @param paramMap * @param model * @return viewName */ String process(Map paramMap, Map model); // model 도 넘겨줌.뷰의 이름만 전달. } Controller 계층에서 model 도 같이 전달해준다. package hello.servlet.web.frontcontroller.v4; import hello...
· Java
String Java에서 String 은 불변하다. 필드에 String을 새로 주면 String을 바꾸는것이 아니라 참조하는 메모리 값을 바꾸는것이다. 즉, 문자는 new 객체로 새로 생긴다. StringTokenizer String 을 Token화 시키는것. 사용법 //1. 띄어쓰기 기준으로 문자열을 분리 StringTokenizer st = new StringTokenizer(문자열); //2. 구분자를 기준으로 문자열을 분리 StringTokenizer st = new StringTokenizer(문자열, 구분자); /* 3. 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣는다. (true) * 구분자를 분리된 문자열 토큰에 포함 시키지 않는다. (false) * (디폴트 : false)..
· Java
1. java.lang.Object class 상속 관계에 있어 모든 클래스의 최상위 class이다. 2개의 주요한 method 제공 equals() 비교 : 메모리 위치가 같은 것인지, 의미 상 같은 것인지 비교가 다르다. == : 메모리 값 비교 equals 를 오버라이딩하지 않으면 메모리 주소 값을 비교한다. @Override public boolean equals(Object obj) { //인자로 들어온 객체 - Object ( 모든 객체가 들어올 수 있다.) // 인자로 들어온 인스턴스가 equals method를 가지고 있는 인스턴스의 내용과 같으면 같은 객체로 판별하는 로직 // 두 인스턴스의 데이터 타입이 같아야 하기 때문에 맞춰주어야 한다. Student target = (Student..
· Java
Exception 1. Exception 프로그램 실행 시 발생하는 다양한 형태의 오류. 서버 → 오류가 난다고 서버가 꺼지면 안된다. 만약 오류가 나고 코드로 처리하지 않으면 비정상 종료가 일어남. Exception Handling 을 하게 되면 프로그램을 비정상 종료시키지 않고, 지속적으로 실행시킬 수 있다. Java ⇒ 다양한 클래스의 Exception들로 제공된다. 최상위 Exception → 상속 → 상속… package exception; public class ExceptionTest { public static void main(String[] args) { System.out.println("일부러 예외상황을 발생시켜 보자."); // int result = 10 / 0; // excep..
· Java
4. JVM의 메모리 구조 JVM은 메모리를 용도에 따라 5개의 부분으로 나누어 관리함. Register 프로그램의 실행 포인터에 대한 정보를 저장하고 관리. 프로그램에서 건드릴 수 없는 영역. Runtime Constant Pool 상수 값이 들어가는 pool Method area Class 자체에 대한 정보가 들어가 있는 공간. ex) Method에 대한 정보가 들어가 있음 Class안에 정의된 Method에 대한 실행 코드도 들어가 있다. (Class가 처음 사용되는 시점. 딱 1번 실행되는 순간 메모리에 올라감) Heap area Instance가 생성되는 메모리 공간. instance variable의 공간이 생성됨 Method를 호출할 수 있는 실행 Pointer도 있다. Call stack ..
· Java
진도표 5일차와 연결됩니다 우리는 라는 개념을 배웠습니다. 에 대한 감각을 익히기 위해서는 어떤 코드가 좋은 코드이고, 어떤 코드가 좋지 않은 코드인지 이론적인 배경을 학습하는 것도 중요할 뿐 아니라, 다양한 코드를 읽어 보며 어떤 부분이 읽기 쉬웠는지, 어떤 부분이 읽기 어려웠는지, 읽기 어려운 부분은 어떻게 고치면 좋을지 경험해보는 과정이 필요합니다. 이번 과제는 제시된 코드를 읽어보며, 코드를 더 좋은 코드로 고쳐나가는 과정입니다. 구글에 “클린 코드” 혹은 “클린 코드 정리”를 키워드로 검색해보면, 이론적인 배경을 충분히 찾아보실 수 있습니다. 🙂 그러한 내용들을 보며 제시된 코드를 더 좋은 코드로 바꿔보세요! (코드를 바꿀 때 왜 바뀐 코드가 더 좋은 코드인지 다른 사람에게 설명하신다고 생각해보..
· Spring
인프런에서 좋은 기회로 인해 Spring Boot의 개발을 쉽게 빠르게 접해보려고 한다. 또한 본 섹션에서는 강의를 진행하시며, 추가적인 공부를 하실 수 있도록 과제와 미니 프로젝트를 공유해드리고 있습니다! 다만, [과제]와 [미니 프로젝트]에 대한 정답은 제공해드리지 않습니다. 프로그래밍에 100% 절대적인 정답은 없을 뿐더러, 추가적인 공부를 하시는 여러분들께서 본인만의 관점으로 충분히 고민하시고, 더 좋은 방법을 찾아 나가시길 희망하기 때문입니다. 또한, [과제]나 [미니 프로젝트]에 대한 질문은 과 같은 인프런 주최 프로그램 참여자 분들에 한해서만 받고 있으니 양해 부탁드리겠습니다. 물론 1강부터 52강, 그리고 추가 영상에 대한 질문은 언제든지 100% 환영합니다. 😊 감사합니다 🙏
jmboy
'Java' 태그의 글 목록