본문 바로가기

반응형

전체 글

Java - 인터페이스 인터페이스란 ? - *핵심! 추상 메서드의 집합 - 프로그래밍 관점 구현된 것이 전혀 없는 설계도. 껍데기(모든 멤버가 public) 인터페이스의 조상은 인터페이스만 가능(Object가 최고 조상이 아니다) 다중 상속이 가능(추상메서드는 충돌해도 문제 없음) ** 클래스의 다중상속이 안되는 이유는 ? : 다른 조상에서 같은 이름. 같은 일을 하는 메소드가 있을 수 있어서 안된다 / 그러나 인터페이스는 어차피 구현부만 있기 때문에 문제가 되지 않는다) interface 인터페이스이름 { public static final 타입 상수이름 = 값;// 상수는 가질 수 있다. public abstract 메서드이름(매개변수목록); } interface PlayingCard { public static final.. 더보기
Java - 추상클래스 추상클래스(abstract class) - 미완성 설계도. 미완성 메서드를 갖고 잇는 클래스 - 상속을 통해 추상 메서드를 완성해야 인스턴스 생성 가능 - 꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우 abstract class Player { // 추상클래스(미완성 클래스) abstract void play(int pos); // 추상메서드(몸통이 없는 미완성 메서드) abstract void stop(); // 추상메서드 } class AudioPlayer extends Player{ void play(int pos){}; void stop(){}; } // 일부만 구현 // 부모에 있는 stop은 구현하지 않았으므로 추상 클래스로 만들어야 한다. abstract class Abstrac.. 더보기
Java - 객체지향개념 1. 객체지향 개념 - 코드의 재사용성이 높고 유지보수가 용이 > 빠른 변화에 대응이 가능 / 중복 코드 제거 - 객체지향언어 = 프로그래밍 언어 + 객체지향개념(규칙) - 객체지향 프로그래밍(OOP) 1) 캡슐화 2) 상속 3) 추상화 4) 다형성 2. 클래스와 객체 클래스의 정의 : 객체를 정의해 놓은 것 클래스의 용도 : 객체를 생성하는데 사용 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 클래스 객체 제품 설계도 제품 TV 설계도 TV 붕어빵 기계 붕어빵 객체 : HW를 SW화 한 것 TV를 객체화 할때 객체 = 속성(변수) + 기능(메서드) 속성 : 크기, 길이, 높이, 색상, 볼륨, 채널 등 >> 변수 기능 : 켜기, 끄기, .. 더보기
Java - 배열 배열 - 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 int score1, score2, score3, score4, score5; int[] score = new int[5]; - 변수는 저장공간이 따로따로, 배열은 저장공간이 연속 - 배열의 선언 : 배열을 다루기 위한 참조변수의 선언 선언방법 선언 예 타입[] 변수이름 -- 이거를 더 선호 ** 나도 ^_^ int [] score; String[] name; 타입 변수이름[] int score[]; String name[]; int [] score; // 참조변수 선언 score = new int[5]; // int 타입 값 5개를 저장할 수 있는 배열 생성 배열길이 - 배열이름.length - 배열의 길이 (int형 상수) int[] arr.. 더보기
Java - 변수 1. 변수 - 하나의 값을 저장할 수 있는 메모리 공간(RAM) - 변수의 선언 2. 변수, 상수, 리터럴 변수(variable) - 하나의 값을 저장하기 위한 공간 상수(constant) - 한 번만 값을 저장 가능한 변수 리터럴(literal) - 그 자체로 값을 의미하는 것 int score = 100; score = 200; final int MAX = 100; MAX = 200; // 에러 char ch = 'A'; String str = "abc"; 3. 리터럴의 접두사와 접미사 종류 리터럴 접미사 논리형 false, true 없음 정수형 int - 123, 0b0101, 077, 0xFF long - 100L L - 씀 실수형 long - 3.14, 3.0e8, 0x1.0p-1 float -.. 더보기
Java Java 란 - 프로그래밍 언어(Programing Language) - 애플리케이션을 만드는데 사용된다. - 실행환경 (JRE) + 개발도구(JDK) + 라이브러리(API) - 모던 프로그래밍 언어(객체지향 + 함수형) 과거엔 객체지향이었지만 자바 8부터 함수형 기능이 추가 되고 있다. 멈춰 있지 않고 진화 중 Java의 역사 - 3버전 올라갈때 마다 큰 변화가 있다. JDK 1.0(January 23, 1996) J2SE 1.2 - Java2 라 부른다. (December 8, 1998) J2SE - Java Standard Edition J2ME - Java Micro Edition J2EE - Java Enterprise Edition J2SE 5.0 - Java5 , java1.5 라고 부른다... 더보기
Null-Safety 스프링 프레임워크 5에 추가된 Null 관련 애노테이션 - @NonNull - @Nullable - @NonNullApi - @NonNullFields 목적 - 툴의 지원을 받아 컴파일 시점에 최대한 NullPointerException을 방지하는 것 더보기
AOP - @AOP 스프링 애노테이션 기반의 스프링 @AOP 1. 의존성 추가 org.springframework.boot spring-boot-starter-aop 2. 애스팩트 정의 package com.bpkim.demospring51; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; @Component @Aspect public class PerfAspect { // Pr.. 더보기

반응형