Java
-
class(클래스) 변수, instance(인스턴스) 변수, local(지역) 변수의 차이Study/Java 2020. 9. 11. 09:36
지역 변수 : 멤버 변수를 제외한 나머지 변수 이제 지역 변수가 아닌 클래스 변수와 인스턴스 변수를 생각해보자. 클래스 변수와 인스턴스 변수의 차이를 이해하기 위해 카드 게임에 사용되는 카드를 클래스로 정의해본다. 카드 클래스를 작성하기 위해서 속성으로 카드의 무늬, 숫자, 폭, 높이 정도를 생각해 볼 수 있다. class로 표현해보자. class Card{ String kind; //무늬 Int number; //숫자 static int width = 100; // 폭 static int height = 250; //높이 } 위와 같이 무늬와 숫자는 각 카드마다 가지고 있는 개별 속성이므로 static을 붙이지 않아, Instance 변수가 된다. 폭과 높이는 모든 카드가 가지고 있는 공통적인 값이고,..
-
Java equals()와 ==의 차이Study/Java 2020. 9. 10. 10:52
java 기술면접에서 가장 많이 물어보는 질문이다. ==와 equals()의 차이가 무엇인지를 묻는 것이다. 아래 예시를 보면서 이야기해보겠다. package nh1; import java.util.Scanner; public class Str01 { public static void main(String[] args) { // TODO Auto-generated method stub int a =10, b= 10; System.out.println(a == b); String s1="NH"; String s2="NH"; System.out.println(s1 ==s2); System.out.println(s1.equals(s2)); Scanner sc = new Scanner(System.in); Sy..
-
[ERROR] Target runtime Apache Tomcat v8.0 is not defined.Spring/Spring Quick Start 2020. 7. 1. 11:14
스프링 프로젝트를 실습하는 도중에 프로젝트에 X 표시가 쳐져있는 것을 확인하였다. Error를 확인해보니 Target runtime Apache Tomcat v8.0 is not defined. 라는 Error메세지를 보게 되었다. 방법만 알고 싶다면 맨아래를 확인하시면 됩니다. => 확인을 해보면 프로젝트 target apache ver이 실제와 맞지 않아서 발생하는 문제입니다. => 프로젝트 전체의 targeted runtime를 수정해야 한다. => Project 왼쪽 버튼 클릭 => Property => Targeted Runtimes(검색 or 스크롤하여 확인) => 본인이 설치한 Tomcat Server version 선택 => Apply => 위에 쓴 방법대로 실행해 보았다. => 방법대로 ..
-
Servlet, JSP의 특징 및 차이점Spring 2020. 4. 29. 14:55
Servlet -서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 Program -웹 기반 요청에 대한 동적 처리가 가능한 Java Program -Java 코드 안에 HTML 코드( 하나의 클래스 ) -웹 개발을 위해 만든 표준 JSP -Servlet을 작성하지 않고도 간편히 웹 프로그래밍을 구현한 기술 -Java 언어를 기반으로 하는 Server side 스크립트 언 -HTML 코드 안에 Java 코드 두개의 용도 - Servlet : Data processing에 사용 => Spring의 Dispatch Servlet - JSP : view에 사용 => Spring에서 client에게 실제로 보여주는 화면에 사용
-
@Resource 찾을 수 없음 | The import javax.annotation.Resource cannot be resolved | Spring Error 해결Spring 2020. 3. 28. 18:03
@Resource 찾을 수 없음 | The import javax.annotation.Resource cannot be resolved | Spring Error 해결 => The import javax.annotation.Resource cannot be resolved => Spring으로 웹앱을 구현하다 보면 간혹 저러한 Error Message를 볼 수 있다. => 이는 Java 9 부터 annotation을 지원하지 않기 때문이다. => 본질적으로 Annotation은 Spring의 구성요소가 아니다. ***해결방법 => Spring 설정파일인 pom.xml 에 javax.annotations 종속성을 추가해주어야 한다. javax.annotation javax.annotation-api 1.3..
-
어노테이션을 이용한 스프링 설정-1Spring 2020. 3. 26. 11:35
어노테이션을 이용한 스프링 설정 - 1 1. XML 파일을 Java파일로 변경하기 => XML이 아닌 Java 파일로 객체 생성하기 using 어노테이션 -@configuration 사용 -public { return new 반환형() } - 위의 형식을 따름 *** 해당 반환형을 쓰기 위해 미리 import하는 것을 까먹으면 안됨 - @Bean을 해당 메소드 위에 써주어야함 -property가 많은 경우, 객체를 새로 생성을 해주고 메소드를 통해 구현함 - 새로 만든 객체를 return하여 구현 가능 => -List 와 Map 타입을 사용할 경우 => list -> ArrayList 으로 변경함 => Map - > Map 으로 변경함 *** xml 파일 대신, Java 파일을 사용해서 Bean 객체 생..
-
다양한 의존 객체 주입Spring 2020. 3. 23. 00:48
1. 다양한 의존 객체 주입 1.1 생성자를 이용한 의존 객체 주입 => 왼쪽에 있는 코드를 오른쪽의 pom파일 설정을 통해 객체를 생성하고, Argu 역시 전달해 줄 수 있음 1.2 setter를 이용한 의존 객체 주입 =>해당하는 setter 에서 set을 뗀 다음 첫대문자를 소문자로 바꾸고 ID로 사용함 =>property name == setter에서 set 떼고, 소문자로 바꾸고 붙임. ***규칙이므로 지켜줘야함 1.3 List타입 의존 객체 주입 =>list라는 태그를 쓰고 value를 사용함. => list로 들어오는 정보를 위와 같은 방식을 사용함을 인지해야함. 4. Map타입 객체 주입 =>map으로 시작하고 map으로 끝남 =>entry, key, value 로 쌍이 지어짐
-
DI ( Dependency Injection, 의존 객체 주입)Spring 2020. 3. 23. 00:44
1. DI 1.1 DI란? -배터리 일체형보다, 배터리 분리형이 효율적임을 깨달아야함. -우리가 어떠한 객체지향 프로그램을 만들 때, 많은 기능을 구현 한 후 객체 모든 것에 종속되어있다면 너무나도 답답해짐. - 객체를 독립화 시켜, 유연성 있게 프로그램을 쉽게 확장할 수 있도록 하는 것이 객체지향프로그래밍의 특징 중 하나임. -객체를 독립화 시키는 것이 좋은 프로그래밍 =>일반적으로 3번째의 방법이 가장 효율적이라고 할 수 있음 -어떠한 객체에 주입한다 == 의존주입 -DI 는 스프링 컨테이너에 있음 1.2 스프링 DI설정 방법 -getBean() 이라는 메소드를 통해 메모리에 있는 객체를 가져올 수 있음