일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- it
- 요리
- JVM
- linux
- Gradle
- Design Patterns
- devops
- elasticsearch
- jenkins
- Spring Batch
- javascript
- ubuntu
- php
- MySQL
- springboot
- java
- AWS
- IntelliJ
- laravel
- Spring
- tool
- Git
- Spring Boot
- 맛집
- ReactJS
- jsp
- redis
- db
- Web Server
- Oracle
- Today
- Total
목록java (242)
아무거나
[Timer 클래스] 시간을 컨트롤하는 기능 Timer, TimerTask 클래스 - Timer객체는 이정한 시간이 되면, TimerTask객체가 작동 된다. 단, TimerTask클래스는 추상클래스 입니다. 따라서 TimerTask클래스를 상속받는 클래스를 만들어서 사용해야 한다. [Main.java] public class MainClass { public static void main(String[] args) throws InterruptedException { TimerEx ex = new TimerEx(); } } [TimerEx.java] import java.util.Timer; import java.util.TimerTask; public class TimerEx { public Time..
[Wrapper 클래스] Wrapper클래스는 기초데이터를 객체데이터로 변화시키는 클래스 - 기초데이터 : 기초데이터는 데이터가 직접 메모리에 들어가는 방식 - 객체데이터 : 데이터가 갖고있는 메모리의 주소값을 가리키는 주소값이 들어가있다. ex) Integer integer = new Integer(234); int i = integer.intValue(); System.out.println(i); // 234 기초데이터 | 객체데이터 byte | Byte short | Short int | Integer long | Long double | Double float | Float boolean | Boolean char | Character
[Scanner 및 Sysout] 1. Scanner : 무엇인가를 얻어 올 때 사용. -> 키보드에서 타이핑 하는 문자열 또는 입출력 프로그래밍에서 문자열을 읽어올 때 사용. ex) Scanner scanner = new Scanner(System.in); [예제] (1) next() : next()는 개행문자, 공백은 무시하고 문자를 입력받습니다. ex) Scanner s = new Scanner("\n\ntest\nhoho\n"); while (s.hasNext()) { System.out.println("출력: " + s.next()); } // // 출력: test // 출력: hoho (2) nextLine() : nextLine()은 한 줄 단위로 입력받기 때문에 개행문자도 한 줄로 인식한..
[Random 클래스] 개발을 할 때 가장 많이 쓰이는 기능 중에 하나는 아마도 랜덤 숫자를 구하는 작업 일 것 이다. 예전에는 Math.random()을 많이 사용하였으나, 요즘은 Random클래스를 많이 사용한다. 1. Math.random() : Random() 메소드는 double타입의 임의의 수를 발생한다. 가이드를 보면 static이고, 반환 타입이 double임을 확인 할 수 있다. 2. Random : Random 클래스는 Random random = new Random();이렇게 사용하자 -> 직접 객체를 생성하여 사용 ex) randdom.nextInt(100); // 0 ~ 100 사이의 난수를 발생
[Calendar api] 날짜와 시간을 표현할 때 많이 쓰이는 클래스이다. ex) Calendar calendar = Calendar.getInstance(); // new를 생성 못하는걸로 보아 싱글턴으로 만든것 같다. int year = calendar.get(Calendar.YEAR); // 년도 int month = calendar.get(Calendar.MONTH) + 1; // 월은 현실세계와 똑같이하려면 +1로 시작해야 똑같다(프로그램은 0부터 시작하기때문에) int day = calendar.get(Calendar.DAY_OF_MONTH); // 일 int hour = calendar.get(Calendar.HOUR_OF_DAY); // 시 int minute = calendar.get(..
[String의 이해] 1. String(객체 자료형) // 이상한 점은 String은 분명 대문자로 시작하므로, 기초데이터가 아닌 객체데이터 입니다. // 하지만 뒤에 new를 사용하지 않고 기초데이터를 만들 때 처럼 초기화 하고 있다. String string = "HelloWorld"; // String의 경우만 특이하게 객체데이터 이지만, 기초데이터처럼 사용할 수 있게 하였습니다. // 이유는 아마도 많이 쓰이는 객체라서 편하게 사용하라고 그렇게 만든것 같습니다. // 그러므로 아래 두 경우 모두를 사용할 수 있다. String string = "HelloWorld"; String string = new String("HelloWorld"); 2. String의 주요 기능들(메소드) - conca..
[스트레티지 패턴] 스트레티지 패턴(Strategy Pattern) 어떤 객체를 만들 때 객체가 가지는 기능들이 다양하게 존재할 것 입니다. 이러한 기능들을 추상화 하여 언제든지 적용할 수 있게 만드는 것 입니다. 즉, 기능을 부품화 하는 것 입니다. 예를 들어 포니와 그랜저 자동차가 있습니다. 포니에 들어가는 기어 연결부분과 그랜저에 들어가는 연결부분이 동일하다고(추상화) 하면, 저급기어, 중급기어, 고급기어를 만들어 두고 상황에 따라서 적당한 기어를 적용할 수 있다. 즉 포니에는 저급기어를, 그랜저에는 고급기어를 적용하는것이다. 이렇게 기능을 부품화하여 구조를 만드는 것을 스트레티지라고 생각하면 된다. 아래 예제로 로봇을 프로그램으로 만들어 보는 것이다. [시나리오] 1. 로봇 모양은 팔, 다리, 머..
[싱글턴 패턴] 싱글턴 패턴(Singleton Pattern)이란 어떤 클래스의 인스턴스는 오직 하나임을 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 패턴 지금까지의 클래스를 잘 생각해 보면, 클래스를 하나 만들고, 만들어진 클래스로부터 객체를 여러 개 생성하여 사용하였습니다. 하지만 싱글턴 패턴을 이용하면, 클래스 하나에 객체를 유일하게 하나만 생성하여 모든 곳에서 하나의 객체에만 접근할 수 있습니다. 즉 전역의 개념으로 객체를 사용할 수 있다. ** static이나 클래스가 선언되는 위치를 데이터 영역이라하고 그 클래스들이 생성한 객체들이 위치하는 영역을 heap영역 이라한다. 예제로 소스파일을 실행시켜 확인하자. [MainClass.java] public class MainC..
[인터페이스] 1. 인터페이스란? - 객체와 객체의 소통 수단 - 작업 명세서 - 앞으로 이렇게 만들어요 - 다형성 - java에서 다형성을 가능하게 함 ex) A -> S (상속) A a = new A(); S a = new A(); // 위의 상속은 A랑 S밖에 두가지 타입밖에 안되는데 // 만약 인터페이스를 사용한다면 여러가지 타입을 지정할 수 있다. public interface InterfaceEx { public static final int CONSTANT = 10; public void inMethod(); pubiic void inMethod2(); } - 실제 개발에 적용시키기는 쉽지 않음 - 디자인 패턴이나 프레임워크를 통해 습득하는 것을 권장 - 객체를 부속품화 2. 인터페이스 문법..
[추상클래스] 강제로 부모클래스에서 자식클래스에게 메소드를 강제로 재정의(override)하게 할 수 있다. 그리고 이러한 방법으로 만들어진 클래스를 추상클래스라고 한다. ex) [부모] // 추상클래스는 반드시 추상메소드 하나이상이 포함되어 있다. public abstract class HeadQuarterStore { public HeadQuarterStore() {} public abstract void orderKimChijjige(); public abstract void orderBuDaejjige(); } [자식] public class StoreNum1 extends HeadQuarterStore { public StoreNum1() {} @Override public void orderK..