presentLee

고정 헤더 영역

글 제목

메뉴 레이어

presentLee

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (108)
    • spring (0)
    • 컴네 (0)
    • 자구 (0)
    • 아두이노 (1)
      • 와이파이 Wemos D1 보드 (5)
    • 웹 (20)
      • js (13)
      • react (5)
      • node.js (0)
      • spring (1)
    • 알고리즘 (2)
      • C (1)
      • 자료구조 (0)
    • ㅇㅇ (5)
    • 혼공단 (24)
      • sql (5)
      • js (6)
      • 네트워크 (5)
      • 컴구운체 (7)
    • RN (1)
    • 데베 (0)
    • sql (1)
    • programmers (6)
      • sql (5)
    • baekjoon (16)
    • java (9)
    • c++ (0)
    • 수업 (0)
      • dbp (0)

검색 레이어

presentLee

검색 영역

컨텐츠 검색

java

  • effective java item 17 - 변경 가능성을 최소화하라.

    2025.03.13 by nownow

  • Comparable

    2025.03.12 by nownow

  • 객체 참조 해제, Java 참조 유형

    2025.03.06 by nownow

  • 클래스 빌더 패턴

    2025.03.04 by nownow

  • enum 매핑

    2025.02.28 by nownow

  • 자바 클래스 정렬 기준 설정. PriorityQueue, sort. Comporable, Comporator (코테준비)

    2024.10.20 by nownow

  • Object Class, 불변객체, String

    2024.03.30 by nownow

  • 상속, 다형성

    2024.03.30 by nownow

effective java item 17 - 변경 가능성을 최소화하라.

불변클래스인스턴스 내부 값을 수정할 수 없는 클래스.가변클래스보다 설계와 구현, 사용이 쉽고 오류가 생길 여지가 적어 안전하다.ex) String, BigDecimal,BigInteger 불변클래스의 규칙.1.객체의 상태를 변경할 수 있는 set 메서드를 제공하지 않는다.2.클래스를 확장할 수 없도록 한다. 하위 클래스에서 의도적으로 객체의 상태를 변하는 것을 막아야 한다.final로 클래스를 선언하거나 생성자를 private으로 두고 복사 생성자를 구현한다.3.모든 필드를 private로 유지한다. 필드가 참조하고 있는 가변 객체를 클라이언트가의도적으로 접근해 수정하는 일을 막아야 한다. 접근자를 통해 참조를 반환해서도 안된다. private필드이므로 참조를 변경할 수는 없지만참조중인 인스턴스 내부 정..

java 2025. 3. 13. 20:50

Comparable

Arrays.sort()와 Collections.sort()로 정렬이 가능한 이유는, 해당 자료구조에 Comparable이 구현되어 있기 때문이다.Comparable도 equals와 같이 반사성, 대칭성, 추이성을 충족해야 한다. 반사성: x.compareTo(y) == -y.compareTo(x) 여야 한다.추이성: x.compareTo(y) >0 이며 y.compareTo(z) >0 라면 x.compareTo(z) >0 여야 한다.대칭성: 크기가 같은 객체간에는 어떤 객체와 비교하더라도 같아야 한다. equals를 오버라이드 할 때와 마찬가지로, Comparable을 구현할 때도상속받아 구체화 한 클래스에서 Comparable을 유지할 방법이 없기에상속 대신 컴포지션을 사용하여, 생성자에서 기본 클래..

java 2025. 3. 12. 02:56

객체 참조 해제, Java 참조 유형

public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public StackO { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { ensureCapacity(); elements[size++] = e; } public Object pop() { if (size = 0) throw new EmptyStackException(); ..

java 2025. 3. 6. 17:12

클래스 빌더 패턴

클래스의 생성자, 정적 팩터리 패턴에서는 선택적 매개변수가 많을 때 적용하기 불리한 점이 있다영양성분을 클래스를 표현한다고 가정하면. 여러 성분 중 해당 식품에 필요한 정보만 선택적으로 입력해야 한다. class 영양성분{ 영양성분(탄수화물,단백질,지방){}; 영양성분(탄수화물,단백질,지방,칼로리){}; 영양성분(탄수화물,단백질,지방,칼로리,비타민A,비타민B){};}이러한 방식으로 모든 상황을 가정하여 생성자를 지정할 수도 있지만(점층적 생성자 패턴)매개변수가 너무 많아진다면 활용하기 어려워진다.class 영양성분{ int vitamina; int vitaminb; 영양성분(탄수화물,단백질,지방){}; public setvitaminA(int num){ vitamina=num; } public setvi..

java 2025. 3. 4. 11:35

enum 매핑

enum에 한글을 지정하거나 데이터 타입 호환성을 위해 다른 상수를 추가로 지정할 수 있다.public enum EnumDay { SPRING("봄"), SUMMER("여름"), WINTER("겨울"); private String season; private EnumDay(String season){ this.season=season; } public String KOSeason(){ return season; }}public class Main { public static void main(String[] args) { EnumDay day =EnumDay.SUMMER; System.out.println(..

java 2025. 2. 28. 20:28

자바 클래스 정렬 기준 설정. PriorityQueue, sort. Comporable, Comporator (코테준비)

ArrayList에 직접 만든 클래스를 정렬하거나우선순위큐에 집어넣을 때, 클래스 내에 여러개의 필드가 있기에 정렬 기준을 설정해야 한다.클래스 자체에 설정하는 방식과.sort() 메서드나 자료구조 생성 시에 설정해주는 방식이 있다. 1. 클래스에 설정.static class edge implements Comparable{ public int weight; public int to; public edge(int weight,int to){ this.weight=weight;this.to=to; } @Override public int compareTo(edge e){ int com = In..

java 2024. 10. 20. 01:01

Object Class, 불변객체, String

Object 객체는 모든 자바 객체의 상위 객체로서 Object Class로 배열을 생성하면 모든 객체를 담을 수 있다.하지만 자식 객체의 메서드들을 알고 있지는 않기 때문에 자식 객체의 메서드를 사용하려면 명시적 다운 캐스팅必 toString()과 같은 Object Class에도 정의된 부분은 그냥 사용 가능오버라이딩 시 Generator(shift+INS) 눌러 사용하자. public class ObjectPrint{ public void print(Object obj){ System.out.println( }}정적 의존관계 -> Obejct 객체와 연관 돼 있을 것이란 것. (일반적으로 표현하는 의존관계)동적 의존관계 -> 매개변수 Object 자리에 어떤 객체가 올지는 예상할 수 없음..

java 2024. 3. 30. 22:47

상속, 다형성

기존 클래스의 필드 ,메서드를 새 클래스에서 재사용 하게 하는 상속. extends키워드로 부모(슈퍼) 클래스를 자식(서브)클래스로 확장한다. 자식 클래스를 만들면 부모 클래스도 메모리에 함께 생성된다. 자식 클래스에선 부모클래스에 접근할 수 있지만, 부모 클래스를 만든다고 상속 될 수 있는 클래스가 포함 되진 않으므로 부모클래스에서 자식 클래스의 정보가 없기에 접근은 불가하다. public class Car{ public void move(){ sout("차를 이동"); } } public class ElecCar extends Car{ @Override public void move(){ sout("전기차를 이동"); } } 부모의 메서드와 같은 이름으로 다른 기능을 사용하기 위해 오버라이딩. 실수 ..

java 2024. 3. 30. 04:31

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
presentLee © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바