IT

Language/JAVA

클래스 메서드 VS 인스턴스 메서드

클래스 메서드메서드 앞에 static 붙어 있으면 클래스 메서드클래스 변수처럼 객체 생성하지 않고 '클래스이름.메서드이름(매개변수)'와 같이 호출 가능하다. 인스턴스 메서드반드시 객체 생성해야만 호출이 가능하다. 어떠한 경우에 static 클래스 메서드로 정의하는가? 클래스는 데이터(변수)와 데이터에 관련된 메서드의 집합이므로 클래스 내에 있는 메서드와 멤버변수는 아주 밀접한 관계를 맺고 있다.인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는데 메서드 작업을 수행하는데 인스턴스를 필요로하는 메서드이다.반면 메서드 중에서 인스턴스와 관계 없는 메서드를 클래스 메서드라고 한다. 클래스 설계 시, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static 붙임클래스 변수(static 변수)는 인..

Spring

[Spring MVC] 스프링 MVC (3)

직접 구현한 MVC 프레임 워크와 스프링 MVC 비교스프링 MVC에서 핸들러매핑, 뷰리졸버 사용 확인컨트롤러 사용시에 인터페이스 방식과 애노테이션 방식을 살펴볼 수 있음5. 스프링 MVC 구조 이해 1) 스프링 MVC 전체 구조  직접 만든 프레임워크 -> 스프링 MVC 비교FrontController -> DispatcherServlethandlerMappingMap -> HandlerMappingMyHandlerAdapter -> HandlerAdapterModelView -> ModelAndViewviewResolver -> ViewResolver(인터페이스)MyView -> View(인터페이스)스프링 MVC도 마찬가지로 프론트 컨트롤러 패턴을 사용하고 있으며 DispatcherServlet이 그 ..

Spring

[Spring MVC] 스프링 MVC (2)

5가지 버전프론트 컨트롤러 도입(v1), View분리(v2), Model 추가(v3), 단순하고 실용적인 컨트롤러(v4), 유연한 컨트롤러(v5)로 단계별로 만들어 본다. 4. MVC 프레임워크 만들기여기서는 기존 회원관리 애플리케이션의 단점을 한 단계씩 버전업하면서 단계별로 만들어본다. 버전별로 먼저 어떻게 변경되는지 간단하게 정리하면 다음과 같다.v1 : 프론트 컨트롤러라는 것을 도입한다. 말 그대로 기존 컨트롤러에 앞서 동작하는 부분으로, 요청에 맞는 컨트롤러를 호출해주는 역할을 한다.v2 : v1에서 반복되는 뷰 로직이 있는데 이를 분리해준다.v3 : Model을 추가해서 컨트롤러에 반복되는 서블릿 종속성을 제거하고 뷰 이름 중복도 제거한다.v4 : v3과 비슷하지만 컨트롤러 구현부분에서 Mode..

Algorithm/문제

4. 단어 뒤집기

1.StringBuilder().reverse() 사용 import java.util.ArrayList; import java.util.Scanner; public class Main { public ArrayList solution(int n, String[] str) { //string을 원소로 갖음 ArrayList answer=new ArrayList(); for (String x : str) { String tmp=new StringBuilder(x).reverse().toString(); //x라는 단어 reverse하고 다시 String화함 answer.add(tmp); //.add : arraylist에 추가하는 것 } return answer; } public static void mai..

Algorithm/문제

3.문장 속 단어

1. split() 사용 import java.util.Scanner; public class Main { public String solution(String str) { String answer=""; //문장에서 가장 긴 단어 int m = Integer.MIN_VALUE; //음수가 아니기에 0으로 초기화해도 됨 String[] s = str.split(" "); for(String x : s){ int len=x.length(); if(len>m){ m=len; answer =x; } } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); St..

Spring

[Spring MVC] 스프링 MVC (1)

3.서블릿, JSP, MVC 패턴1) 회원 관리 웹 애플리케이션 요구사항 서블릿만으로 개발 (자바 안에 HTML 작성)JSP로 개발 (JSP에 자바코드 섞어 작성)MVC 패턴 사용요구 사항username, age 입력 가능저장 누르면 회원관리 DB에 데이터 저장저장된 회원 정보를 목록 형태로 볼 수 있음회원 도메인 모델[Member.java]회원 username, age 저장하고 가져올 수 있는 도메인 모델-id는 Member를 회원 저장소에 저장하면 회원 저장소 할당됨package hello.servlet.domain.member;import lombok.Getter;import lombok.Setter;@Getter @Setterpublic class Member { private Long id..

Algorithm/문제

2.대소문자 변환

import java.util.Scanner; public class Main { public String solution(String str) { String answer=""; //toCharArray : 문자열을 한 글자씩 쪼개서 char타입 배열에 넣어주는 메소드 //String을 Char형 배열로 변경 for(char x : str.toCharArray()){ if(Character.isLowerCase(x))//x가 소문자인지 물어봄 소문자면 true 리턴 answer+=Character.toUpperCase(x); //string이니까 x를 대문자화해서 answer에 누적시킴 else answer += Character.toLowerCase(x); //대문자는 소문자로 변경 } return ..