JAVA 46

[ Java ] - 오버로딩과 오버라이딩

* 오버로딩과 오버라이딩은 용어 때문에 헷갈리는 경우가 많은데 오버로딩과 오버라이딩은 크게 관련이 없다. 오버로딩과 오버라이딩 HTML 삽입 미리보기할 수 없는 소스 오버로딩이란 한 클래스 내에 매개변수의 수와, 매개변수의 타입이 다른 동일한 이름의 메서드가 여러 개 정의된 것을 의미한다. public class OverloadingEx { public static void main(String args[]) { PrintlnByType result = new PrintlnByType(); result.println("string"); result.println(123); result.println(true); // string은 String // 123은 int // true은 boolean } } c..

JAVA 2022.12.30

[ Java ] - 클래스 / 객체 / 인스턴스 (인스턴스의 생성과 사용법)

클래스 / 객체 / 인스턴스 (인스턴스의 생성과 사용법) 클래스란 객체를 정의해 놓은 설계도를 의미한다. 클래스는 기본적으로 객체를 생성하기 위해 사용된다. 반대로 객체를 클래스에 정의된 내용이 인스턴스화 되어 실제로 생성된 것을 의미한다. 예를 들어 집을 짓는다고 할 때 집을 짓기 위한 설계도는 클래스이고, 설계도에 따라 지어진 집은 객체이다. 프로그래밍에서 객체의 의미는 클래스에 정의된 내용대로 메모리에 생성된 것을 의미한다. 클래스는 단순히 설계도에 불과하며, 해당 클래스를 실제로 사용하기 위해서는 반드시 인스턴스화하는 과정이 필요하다. 인스턴스화란 클래스를 객체 즉 실제로 사용할 수 있도록 생성하는 것을 의미한다. * 객체와 인스턴스의 차이 객체와 인스턴스는 클래스에 정의된 내용에 따라 생성된 것..

JAVA 2022.12.28

[ Java ] - 변수의 타입(기본형 / 참조형) * 자바메모리 구조

변수의 타입 변수는 값이 저장되어 있는 메모리 공간을 의미한다. 자바에서 변수 타입은 기본적으로 기본형과 참조형으로 구분되는데, 기본형은 변수의 메모리 공간에 값 자체가 할당되는 것이며, 참조형은 변수의 메모리 공간에 해당 값이 저장된 주소가 저장된다. * 상수 한 번 값을 할당한 후 다른 값을 할당할 수 없는 변수를 의미한다. 상수는 값의 재할당이 불가능하기 때문에 기본적으로 변수의 선언과 함께 값의 초기화가 이루어져야 한다. 상수로 선언한기 위해서는 변수의 타입 앞에 final을 붙여주면 된다. HTML 삽입 미리보기할 수 없는 소스 기본형 타입으로는 문자형(char), 숫자형(byte, short, int, long), 실수형(float, double), 논리형(boolean)이 있으며, 변수 메모..

JAVA 2022.12.25

[ Java ] - 어노테이션(annonation)

어노테이션 ( = annonation) @ScopedProxy // @PostConstruct @PostConstruct 어노테이션의 경우 서버가 실행되어, bean이 생성된 후 딱 한 번만 실행된다. bean은 생성된 후 의존성 주입이 이루어지고, 그 뒤에 해당 빈을 초기화하는 작업이 이루어지는데, @PostConstruct는 빈의 의존 관계 주입이 완료된 후 실행되는 초기화 콜백을 적용할 수 있도록 해주는 어노테이션이다. 이 어노테이션이 붙은 메서드의 경우 다른 리소스에서 해당 메서드가 호출되지 않아도, 서버 실행 시 자동으로 수행된다. @PostConstruct 어노테이션은 아래와 같이 사용된다. (@PostConstruct 어노테이션은 빈을 우선 생성 후, 그 뒤에 초기화를 해주는 경우에 사용가능..

JAVA 2022.12.24

[ Spring ] - IoC컨테이너와 DI

IoC컨테이너란? 인스턴스(=객체)의 생명주기를 관리하는 것을 의미하며, 생성된 인스턴스들에게 추가적인 기능을 제공하는 역할도 한다. * 빈 : 객체를 통해 생성된 인스턴스를 빈이라고 한다. Bean 생명 주기 컨테이너란? IoC(Inversion on Control)란? 직역하면 제어의 역전을 의미하며, 개발자가 프로그램의 흐름의 제어하는 것이 아니라, 다른 프로그램에 의해 프로그램의 흐름이 제어되는 것을 의미한다. 예를 들어 의존 관계가 있는 클래스들을 인터페이스를 통해 추상화하여 관리한다면, 개발자는 해당 의존관계에 대한 설정만을 해주고, 실질적인 의존 관계의 연결은 스프링 프레임워크가 맡아 하게 되는 것이다. ** 스프링 IoC 컨테이너 : 스프링 프레임워크로, 의존 관계를 식별하고 인스턴스화하면..

JAVA 2022.12.09

[ Spring boot ] - intellij IDEA + gradle + jpa 프로젝트 생성하기(feat. rest api)

gardle + jpa를 활용한 프로젝트 생성 방법 HTML 삽입 미리보기할 수 없는 소스 아래와 같은 preferences를 클릭한다. gradle을 검색하여 아래와 같은 화면을 찾으면 가운데에 Build and run using 과 Run tests using부분을 Gradle에서 Intellij IDEA로 변경해준다. HTML 삽입 미리보기할 수 없는 소스 intellij IDEA를 열고, 프로젝트 명, 저장 위치, gradle, 설치된 jdk와 자바 버전을 선택해주고 next를 클릭한다. 이후 프로젝트 생성시 함께 추가할 라이브러리를 설정하는데 기본적으로는, spring web / lombok / mysql driver / spring data jpa 를 추가하여 준다. - spring web :..

JAVA/Spring Boot 2022.11.19

[ Java ] - stream API 활용

Stream API 활용 stream api는 자바 8에서 새롭게 추가된 것으로, 데이터를 더욱 편리하게 활용할 수 있도록 도와주는 api이다. stream api를 통해 더욱 간결하고 가독성 있는 코드 작성이 가능해졌다. stream api의 경우 람다를 활용하여 사용할 수 있다. HTML 삽입 미리보기할 수 없는 소스 ex1-1) 기존의 코드 public class Ex01 { // public static void main (String[] args ) { List list = Arrays.asList("oh","mi","hee"); Iterator it = list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } } ex1..

JAVA 2022.10.09

[ Java ] - 유용한 클래스

자바에서 사용되는 유용한 클래스 HTML 삽입 미리보기할 수 없는 소스 문자열 조작을 위한 편리한 기능을 제공하는 클래스이다. - String은 불변의 속성을 갖는다. - 문자열 비교시에는 == 이 아닌 반드시 .equals를 사용한다. - 문자열의 변경이 빈번한 경우 String 사용지 메모리 누수가 발생할 수 있어 주의해야 한다. public class CharMain { public static void main(String[] args) { String str1 = "Java Programming"; String str2 = new String("Java Programming"); char[] charArr = {'J','A','V','A'}; String str3 = new String(char..

JAVA 2022.09.28

[ Java ] - Object 클래스

Object 클래스 Object 클래스는 모든 자바 클래스가 상속하는 최상위 클래스이다. Object 클래스의 메서드 ‣ protected Object clone( ) ‣ boolean equeals(Object obj) ‣ Class getClass() ‣ int hashCode() ‣ void notify() ‣ void notifyAll() ‣ String toString() ‣ void wait() ‣ void wait (long timeout) ‣ void wait (long timeout, int nanos) ‣ ex) String toString(). 해당 클래스에 대한 설명을 문자열로 반환하는 메서드이다. 클래스 정의시 해당 메서드의 정보를 toString()메서드에 재정의한다. publi..

JAVA 2022.09.28

[ Java ] - jsp 기본 문법 / jsp 라이프사이클

JSP 기본 JSP 기본 문법 : Scriptlet이라 하며, 자바코드를 작성할 수 있는 영역으로 주로 연산이나 처리 기능을 한다. : 표현식 값을 출력하는 역할만 하는 곳이다. 해당 역영에서 연산이나 처리는 할 수 없다. : 선엄문이라 하며, 멤버필드와 멤버 메서드를 정의하는 곳이다. 선언문은 잘 쓰이지 않는다. 위의 코드는 아래와 같이 출력된다. JSP 라이프 사이클 이해 예제 위의 코드 작성후 해당 창으로 계속 들어가면 num1은 1씩 커지고, num2는 그대로 1로 존재한다. 또한 서버를 다시 껐다 키면 num1 num2 둘다 1로 표현된다. - jspInit은 서버 실행시 초기값으로 설정하는 것이다. 최초 서버 실행 후 해당 페이지 요청시 jsInit이 동작하여 일종의 실행 객체를 생성하고, j..

JAVA 2022.09.15