일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Gradle
- Spring Boot
- devops
- jenkins
- Git
- db
- it
- MySQL
- tool
- javascript
- springboot
- 맛집
- elasticsearch
- Spring
- ubuntu
- Web Server
- linux
- AWS
- laravel
- JPA
- php
- ReactJS
- IntelliJ
- docker
- redis
- java
- 요리
- Oracle
- Design Patterns
- jsp
- Today
- Total
목록Java/Java (103)
아무거나
[추상클래스] 강제로 부모클래스에서 자식클래스에게 메소드를 강제로 재정의(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..
[super 키워드] super는 부모를 찾는 키워드 (this는 내 안에있는걸 찾겠다 super는 내 위쪽에 있는걸 찾겠다 둘은 반대개념(this super)) - 자식클래스에서 부모클래스를 override하면 부모클래스의 메소드는 사용할 수 없습니다. 사용하기 위해서는 super키워드를 사용하자. ex1) [ParentClass.java] public class ParentClass { public ParentClass() { } public void method1() { System.out.println("ParentClass의 method1() 입니다."); } } [ChildClass.java] public class ChildClass extends ParentClass { @Override ..
[오버라이드] 부모 클래스의 메소드를 자식 클래스에서 재정의함 - 자식 클래스가 부모 클래스를 상속하여 자식한테 없는 메소드를 호출하면 부모클래스에 가서 해당 메소드를 찾게 된다. - 만약 부모 클래스의 메소드를 자식클래스에서 동일한 이름으로 다시 재정의 하면 부모클래스의 메소드를 찾지 않고 자식 클래스의 메소드를 호출한다. - 부모클래스와 자식클래스의 타입을 따를 수 없지만, 자식클래스와 자식클래스에 나온 객체가 부모클래스의 타입을 따를 수 있다.
[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}