개발 공부 기록

개발 공부 기록

  • 분류 전체보기 (199)
    • spring (41)
      • JPA (19)
      • TEST (4)
      • 비동기 처리 (4)
      • SECURITY (1)
      • BATCH (0)
      • WebFlux (0)
    • 문제풀이 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • java (43)
      • java (39)
      • servlet_jsp (3)
      • jdbc (1)
    • 프론트 (7)
      • html (6)
      • css (1)
    • DB (12)
      • Oracle-기초 (8)
      • Mysql-기초 (4)
      • Redis (0)
    • CS (4)
      • Network (4)
      • 디자인 패턴 (0)
    • Project (0)
      • e-commerce (0)
    • Book (70)
      • 이펙티브 자바 (55)
      • 클린코드 (0)
      • 모던 자바 인 액션 (15)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

개발 공부 기록

컨텐츠 검색

태그

영속성 Future 통합 테스트 Flow 비동기 이펙티브 자바 JPA 리액티브 메서드 참조 람다식 DSL 제네릭 람다 Collector 스트림 Reactive 가변인수 CompletableFuture 단위 테스트 리액티브 프로그래밍

최근글

댓글

공지사항

아카이브

java(43)

  • 익명 객체

    *익명 객체 : 이름이 없는 객체 1) 익명 객체는 단독으로 생성할 수 없다. -클래스를 상속하거나 인터페이스를 구현해야만 생성할 수 있다. 2) 사용 위치 -필드의 초기값, 로컬 변수의 초기값, 매개변수의 매개값으로 주로 대입된다. -UI 이벤트 처리 객체나, 스레드 객체를 간편하게 생성할 목적으로 주로 활용된다. *익명 자식 객체 생성 부모클래스 [필드|변수] = new 부모클래스(매개값...) { //필드 //메소드 } 필드 초기값 class A { Parent field = new Parent() { int childfield; void childMethod() { } @Override void parentMethod() {} //parentMethod 오버라이드 } } 로컬 변수 초기값 clas..

    2022.04.22
  • 중첩 클래스

    *중첩 클래스의 분류 *인스턴스 멤버 클래스 class A { class B { B() {} int field1; //static int field2; //정적 필드 (x) void method1() {} //static void method2() {} //정적 메소드(x) } } A a = new A(); //중첩 클래스 객체 생성 전 A클래스 먼저 객체 생성 A.B b = a.newB(); //그 다음에 B객체 생성 b.field1 = 3; b.method1(); *정적 멤버 클래스 class A { static class C { C() {} int field1; static int field2; void method1() {} static void method2() {} } } A.C c = new..

    2022.04.21
  • 중첩 클래스와 중첩 인터페이스란?

    *중첩 클래스와 중첩 인터페이스란 1)중첩클래스 : 클래스 멤버로 선언된 클래스 class ClassName { class NestedClassName { 중첩 클래스 } } 2)중첩 인터페이스 : 클래스 멤버로 선언된 인터페이스 class ClassName { interface NestedInterfaceName { 중첩 인터페이스 } } 3) 중첩 클래스와 인터페이스 용도 - 해당 클래스에서만 사용하는 클래스와 인터페이스가 필요할 때 활용된다. - 중첩 인터페이스는 UI컴포넌트 내부 이벤트 처리에 많이 활용된다.

    2022.04.20
  • 디폴트 메소드와 인터페이스 확장

    *인터페이스 개념에 맞지않는 디폴트 메소드 1)인터페이스 개념 -객체사용방법(메소드 호출 방법)을 기술한 타입이다. -따라서 메소드 선언부만 있으면 된다. 2)실행 내용을 가지고 있는 디폴트 메소드(자바8부터 허용) -인터페이스에 선언은 되지만, 인터페이스만으로 사용이 불가하다. -구현 객체의 인스턴스 메소드이다. 2)디폴트 메소드의 필요성 1)기존 인터페이스에 추상 메소드를 추가할 수 없다. -기존 인터페이스에 추상 메소드를 추가하면 기존 구현 클래스들이 모두 에러난다. 2)디폴트 메소드는 추상 메소드가 아니다. -디폴트 메소드를 추가하더라도 기존 구현 클래스들은 문제 없이 사용할 수 있다. -디폴트 메소드를 재정의하는 새로운 구현 클래스를 만들 수 있다.

    2022.04.19
  • 인터페이스 상속

    *인터페이스간에도 상속이 가능 public interface 하위인터페이스 extends 상위인터페이스1, 상위인터페이스2 {...} 1)하위 인터페이스를 구현하는 클래스는 아래 추상 메소드를 모두 재정의해야 한다. -하위 인터페이스의 추상 메소드 -상위 인터페이스1의 추상 메소드 -상위 인터페이스2의 추상 메소드 2)인터페이스 자동 타입 변환 -해당 타입의 인터페이스에 선언된 메소드만 호출할 수 있다. 인터페이스 C를 구현한 클래스는 A, B 메소드 모두 사용 가능 인터페이스 A를 구현한 클래스는 인터페이스 A로부터 구현을 한 메소드들만 사용 가능

    2022.04.19
  • 인터페이스의 다형성

    *다형성 1)하나의 타입에 여러가지 객체를 대입해서 다양한 실행 결과를 얻는 것을 말한다. 2)다형성을 구현하는 기술 -상속 또는 인터페이스의 자동 타입 변환 -오버라이딩 3)다형성의 효과 -다양한 실행 결과를 얻을 수 있다. -객체를 부품화시킬 수 있어 유지보수가 용이하다. *인터페이스를 이용한 다형성 개념 1)인터페이스는 매개변수 타입으로 자주 등장한다. -메소드 호출시 매개값으로 여러가지 종류의 구현 객체를 대입할 수 있어 메소드 실행 결과가 다양하게 나온다. 예) useRemoteControl(new Television); useRemoteControl(new Audio); *필드의 다형성 public class car { Tire frontLeftTire = new HankookTire(); T..

    2022.04.19
  • 인터페이스 구현(2)

    *익명 구현 객체 1)명시적인 구현 클래스 작성을 생략하고 바로 구현 객체를 얻는 방법 -이름이 없는 구현 클래스 선언과 동시에 객체를 생성한다. 인터페이스 변수 = new 인터페이스() { //인터페이스에 선언된 추상 메소드의 실체 메소드 선언 };

    2022.04.15
  • 인터페이스 구현(1)

    1) 구현 객체와 구현 클래스 -인터페이스의 추상 메소드에 대한 실체 메소드를 가진 객체 = 구현 객체 -구현 객체를 생성하는 클래스 = 구현 클래스 2)구현 클래스 선언 -자신의 객체가 인터페이스 타입으로 사용할 수 있음을 implements 키워드로 명시 public class 구현클래스명 implements 인터페이스명 { //인터페이스에 선언된 추상 메소드의 실제 메소드 선언 } 3)추상 메소드의 실체 메소드를 작성하는 방법 -메소드의 선언부가 정확히 일치해야 한다. -인터페이스의 모든 추상 메소드를 재정의하는 실체 메소드를 작성해야 한다. (일부만 재정의할 경우, 추상 클래스로 선언해야 하며 abstract 키워드가 붙어야 한다. -인터페이스의 모든 메소드는 public 접근 제한을 갖기 때문에..

    2022.04.15
  • 인터페이스 선언

    *인터페이스 이름 -자바 식별자 작성 규칙에 따라 작성 1)첫자는 대문자로 시작하는 것이 관례 2)숫자로 시작하면 안되고, $와 _를 제외한 특수 문자는 안됨 3)다른 언어가 결합되면 첫 알파벳은 대문자로 하는 것이 관례 *인터페이스 선언 [public interface 인터페이스명 { //상수 -타입 상수명 = 값; //초기값을 주지 않으면 컴파일 에러남 //추상메소드 -타입 메소드명(); //디폴트 메소드 // 자바 8부터 추가됨 -default 타입 메소드명() { } //실행하려고 하면 인터페이스 구현 객체 필요 //정적메소드 // 자바 8부터 추가됨 -static 타입 메소드명() { } } 1) 상수 필드 선언 -인터페이스는 상수 필드만 선언이 가능하다. //데이터를 저장하지 않기 때문에 데이..

    2022.04.14
이전
1 2 3 4 5
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바