[JAVA] 기본 문법

제네릭 프로그래밍 자바 스프링을 하다가 제네릭 타입을 마주쳤는데 기억이 가물가물하여 다시 정리해 보았다.. 1. 클래스 제네릭 타입 자바에서는 Object가 모든 객체의 최상위 클래스이다. 즉, Object객체는 모든 인스턴스 객체를 받을 수 있다. 1) 쓰임 제네릭 클래스가 쓰이는 곳을 알아보자. public class ThreeDPrinter{ } 다음과 같이 3D프린터가 있다고 가정해보자. 3D프린터는 플라스틱과 파우더를 재료로 쓸 수 있다. 두개의 재료를 사용하는 프린터는 다음과 같이 만들어야 할까? public class ThreeDPrinter{ private Powder powder; private Plastic plastic; } 하지만 만약 플라스틱만을 사용하는 제품을 만들때는 파우더라는..
자바 스트림 자바 스트림은 자바 8에서 기능이 추가 되었다. 람다를 활용한 기술이며, 배열 혹은 컬렉션에 대한 루프를 돌면서 여러개를 조합하여 원하는 결과를 필터링하고 가공된 결과를 얻을 수 있다. 루프문을 쓰지 않아도 되어서 코드의 양이 매우 줄었고, 매우 자주 사용하는 기술 중 하나이다. 스트림 스트림은 3가지의 순서로 나타낼수 있다. 생성하기 가공하기 결과얻기 1) 생성하기 배열인 경우 배열인 경우에는 다음과 같이 스트림을 생성해야 한다. String[] arr = new String[]{"a", "b", "c"}; Stream stream1 = Arrays.stream(arr); Stream stream2 = Arrays.stream(arr, 1, 3); //1~2요소 컬렉션인 경우 컬렉션인 경우..
8월 5일 모각소 공부내용이다. 자바 스프링 부트에서 @표시를 어노테이션이라고 한다. 다음 코드를 보도록 하자. package com.jerry.blog.model; import java.sql.Timestamp; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import org.hibernate.annotati..
7월 30일 모각소 공부내용이다. 1. Enum Enum을 사용하는이유는 잘못된 값을 사용함으로써 발생하는 에러 및 위험을 방지하기 위해서이다. 예를 들어 메뉴에 아메리카노, 아이스 아메리카노, 카페라떼, 가 있다고 가정하자. 하지만 손님이 초코라떼를 주문하면 에러가 발생할 수 있다. Enum을 이용하면 이러한 주문을 사전에 차단할 수 있다. 즉 주문메뉴의 범위를 제한할 수 있다. 다음 코드를 살펴보자. public class Sample { enum CoffeeType { AMERICANO, ICE_AMERICANO, CAFE_LATTE }; public static void main(String[] args) { System.out.println(CoffeeType.AMERICANO); // AMER..
1. 생성자(Constructor) 다음코드를 살펴보자 class Dog { String name; void setName(String name) { this.name = name; } } public class Sample { public static void main(String[] args) { Dog dog = new Dog(); System.out.println(dog.name); // null 출력 } } 이러한 코드의 결과는 null이다. 그 이유는 Dog 이라는 객체에 아무런 name도 설정해 주지 않아서 이다. 생성자를 이용하면 name이라는 객체변수에 값이 설정되었을때만 객체가 생성될 수 있도록 강제 할 수 있다. Dog 객체에 다음과 같은 메서드를 추가해보자. class Dog { S..
1. static class Counter { int count = 0; Counter() { this.count++; System.out.println(this.count); } } public class HelloSpringApplication { public static void main(String[] args) { Counter c1 = new Counter(); Counter c2 = new Counter(); } } 다음과 같은 코드가 있다고 가정할때 위 코드는 다음과 같은 결과값이 나온다. 1 1 서로다른 객체를 생성하여 다른 객체를 가르키고 있기 때문에 발생하는 결과이다. 다음 예제를 살펴보자 class Counter { static int count = 0; Counter() { cou..
7월 23일 모각소 공부내용이다. 자바에서 접근제어자는 변수나 메소드 앞에 사용하여 권한을 설정한다. 접근제어자 1.private 2.default 3.protected 4.public 1. private 접근제어자가 private이라면 해당 변수, 메소드는 해당 클래스에서만 접근할 수 있다. public class Sample { private String a; return this.a; } 예제에서 a변수는 해당 Sample 클래스에서만 접근이 가능하다. 2. default 접근제어자를 입력하지 않으면 자동으로 default 접근제어자로 설정되어 해당 패키지 내에서만 접근할 수 있다. 3. protected 접근제어자가 protected라면 해당 패키지의 클래스 또는 해당 클래스를 상속받는 다른 패키..
자바 문법은 점프투 자바에 기초하여 작성한다. 1. 문자열 자바에서 문자열을 나타내는 자료형은 String이다. 다음과 같이 사용된다. String a = "hello world"; String b = "a"; 다음의 표현도 살펴보자. String a = new String("hello world"); String b = new String("a"); new는 객체를 의미한다. 객체는 나중에 다시 알아보자. 2. 원시(primitive) 자료형 int, long, double, float, boolean, char등을 원시 자료형이라고 부른다. 이러한 자료형은 new로 객체를 생성할 수 없다. 원시자료형은 다음처럼 각각 대응하는 wrapper class가 존재한다. 원시자료형 Wrapper class i..
7월 9일 모각소 공부는 https://blog.naver.com/jerry3269에 올려놓았다. 7월 16일 모각소 공부 내용이다. 1. 정수 자바에서 정수를 표현하는 자료형은 int, long이 있다. int 는 -2147483648 ~ 2147483647 까지 long 은 -9223372036854775808 ~ 9223372036854775807 까지 표현할 수 있다. 다음과 같이 사용한다. int a = 0; long b = 21474836478L; long 변수에 값을 대입할때 숫자 값이 int 자료형의 최대값인 2147483647보다 큰 경우 숫자 마지막에 L(또는 소문자l)을 붙여준다. 만약 이를 빼먹으면 컴파일 에러가 발생한다. 2. 실수 자바에서 실수를 표현하는 자료형은 float, d..
코드 미식가
'[JAVA] 기본 문법' 카테고리의 글 목록