일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- linux
- AWS
- IntelliJ
- Spring Boot
- Web Server
- 맛집
- Design Patterns
- jsp
- laravel
- Spring
- MySQL
- php
- JVM
- jenkins
- java
- Gradle
- ReactJS
- devops
- Spring Batch
- javascript
- Oracle
- 요리
- tool
- db
- ubuntu
- redis
- it
- Git
- elasticsearch
- springboot
- Today
- Total
목록Java & Kotlin/Java (110)
아무거나
[static] 필요에 의해 클래스를 만들고, 사용할 때는 생성자를 통해 객체로 만들어서 사용합니다. 하지만 예를 들어 집안에 엄마 아빠와 세 쌍둥이가 있는데 아빠 지갑에 100원짜리 2개가 있다고 알고 있는 경우 세 쌍둥이가 100원씩 객체를 만들어 받았다고하면 총 -300원이다 그러면 버그이지만 해결하기 위해선 아빠지갑이 모든 아이들에게 공유 되어야한다. 그러기 위해선 static 키워드를 사용하면 된다. 즉, static = 공유 라고 생각하면 된다. 1. 선언 방법 - public static int MONEY = 200; PapaPouch.MONEY = ... ; 2. 객체를 생성하지 않고 바로 접근이 가능하다. - 클래스명.static명 3. static은 클래스 변수이다. 즉, 객체를 생성하..
[접근 제어자] public : 접근제한 없음 private : 자신의 클래스에서만 사용 가능 protected : 해당 클래스와 동일한 패키지에 있거나 상속받은 클래스일 경우에만 사용 가능 default : 해당 클래스와 동일한 패키지에서만 사용 가능
[패키지의 일반적인 설계방식] 주로 패키지 이름은 유니크한 도메인 주소를 역방향으로 하여 만듭니다. ex) 회사 도메인이 www.javalec.com 이라면 'com.javalec.'라고 하고 뒤에 기능별 또는 개발팀에서 정한 규칙에 의해 패키지명을 만듭니다.
private int age; public bong(int age) { this.age = age; // 여기의 this는 위에 private int age를 가리킨다.(해당하는 인스턴스내에서만 공유됨) }
[java로 queue 구현] 큐는 FIFO - First in First out(선입선출) 구조이다. 큐는 기본적으로 Enqueue, Dequeue, isEmpty를 갖고 있다. - Enqueue : 데이터의 삽입 - Dequeue : 데이터를 삭제 [예제소스] package test; import java.util.ArrayList; import java.util.List; public class MyQueue { private List queue = new ArrayList(); public void enqueue(Integer n) { queue.add(n); } // add function을 사용해 데이터를 순차적으로 넣는다. public Integer dequeue() { // queue에 만..
[자바로 스택(stack) 구현] * 스택은 먼저 들어간것이 먼저 나온다. - 스택오버플로우란 스택이 꽉찼을때 아이템을 push하려고 하는 행위(더 이상 데이터가 들어갈 자리가 없을때) - 스택언더플로우란 스택안에 데이터가 하나도없을때 pop을 하려고하는 경우라한다. 1. 스택 오버플로우 / 언더플로우 예제 [예제] package test; public class NumStack { private int[] arr; // stack private int top = 0; // index(arr index) public NumStack(int stackSize) { this.arr = new int[stackSize]; } public static void main(String[] args) { // cas..
java hashmap 사용시 value에 어떠한 자료형이와도 상관없이 출력할 때 - Map map = new HashMap(); // Object타입을 이용하자(오버라이딩이 아닌 이상 object 타입을 사용하려면 강제 형변환 해줘야한다.) java mybatis에서 hashmap형태의 값을 반환받고 싶을 때 ex) ... SELECT book_name bookName FROM book WHERE book_num = #{value}
split 메서드 사용시 실수(. 관련) // 작동 안되는 예제 tring 문자열 = "가.나.다.가나다"; String[] 나눈배열 = 문자열.split("."); // 작동 되는 예제 String 문자열 = "가.나.다.가나다"; String[] 나눈배열 = 문자열.split("\\.");
객체지향 프로그래밍(Object-Oriented Programming) - 프로그래밍을 구성하고 있는 로직을 상태와 행위로 이루어진 객체로 만드는 것이다. ex) 레고블럭처럼 조립해서 하나의 프로그램을 만드는 것 기능적으로 로직들을 구분해서 사용 [객체 ex] 본문 댓글 변수 변수 메소드 메소드 -> 다른곳에서 일종의 부폼으로써 활용된다. 1. 부품화 - 메소드는 부품화의 예라고 할 수 있으며 이 메소드들을 부품으로 해서 하나의 독립된 프로그램을 만드는 것이다. 메소드를 사용하면 코드의 양을 줄이고, 메소드 별로 기능이 분류되어 있어서 문제 진단속도도 향상된다. 그러나 프로그램이 엄청나게 커지면 그에 따라 메소드의 양도 비례하여 생겨나게 되므로 메소드와 변수를 관리하는 것은 점점 어려워진다. 이것들을 연..
웹개발 할때 필요한 수많은 프로그래밍 언어중에 자바를 공부하는 이유 하나만 말하자면, 자바는 객체를 지향하는 언어라 사용하기 쉽고 편리하기 때문인데요. 객체 지향이 무엇인지 알아보자면 그 반대인 절차지향 언어와 비교해서 한번 알아보면 이해하기 쉽습니다. 대표적으로 C언어가 절차지향 언어로 프로그램의 데이터를 처리하는 방법인 알고리즘을 중요시하며 순차적으로 실행하는 구조를 가집니다. 헷갈리기 쉬운점은 절차지향을 사용할때 외부적으로 객체지향과 같은 처리를 하는걸로 보일 수 있으나, 여기서 말하는 순차적 실행은 프로그래밍 내부적으로 함수 호출을 할때 순서대로 처리하는걸로 이해하시면 되겠습니다. 1. 절차지향 언어 - 장점 # 완성된 코드의 실행처리 속도가 빠르다. # 초기 프로그래밍 언어로 컴퓨터의 처리구조와..