목록Programming Laguage (22)
nathan_H
Intro Spring Security를 사용하다 보면, 인증이 된 유저는 UsetDetailsService에서 리턴을 한 후 UserDetails 타입의 객체가 바로 Principal 로 변환되어 사용하게 된다. 즉 인증이 된 유저는 Principal이 되고 인증이 필요한 로직에 사용되게 된다. 가령 아래와 같은 코드에서 현재 인증이 처리된 유저의 클라이언트 등록 목록을 조회하는URI 요청이 들어올 시 파라미터로 현재 인증이 처리 된 Principal이 들어오게 되면서 해당 Principal의 name (username)으로 클라이언트 등록 조회 목록을 조회할 수 있게 된다. @GetMapping("/info") public ModelAndView registrationInfo(ModelAndView ..
인터페이스란? 인터페이스의 의미 자체는 아래와 같다. - 전기 신호의 변환(變換)으로 중앙 처리 장치와 그 주변 장치를 서로 잇는 부분. 또는, 그 접속 장치. - 키보드나 디스플레이 등처럼 사람과 컴퓨터를 연결하는 장치. - 소프트웨어끼리 접촉·공통되는 부분. 순화어는 `접속'. 즉 인터페이스의 의미를 한 줄로 요약하면 "접속하는 장치" 이다. 그리고 이 의미는 자바에서도 그대로 적용된다. 자바 인터페이스의 개념과 역할 개념 개발 코드와 객체가 서로 통신하는 접점, 객체의 사용 방법을 정의한 타입. 역할 개발 코드가 객체에 종속되지 않도록 방지 개발 코드 변경 없이 리턴값 또는 실행 내용을 다양하게 구현 (다형성) 개발자들 간의 하나의 코드 규약 하나의 프로그램을 제작할 때에는 "설계"와 "구현"을 하..
본 내용은 백기선님의 더 자바 강의 듣고 정리한 내용입니다. 바이트 코드 조작 지난 포스팅에서 JVM 구조에서 가장 중요한 요소로 바이트 코드라고 언급 했는데, 자바 코드는 결국 바이트 코드로 변환이 된 후에 바이트 코드를 읽어 실행이 된다. 즉 최종적으로 바이트 코드 내용으로 실행이 되기 때문에 바이트 코드를 조작한다면, 내가 작성한 코드와 다른 결과가 나올 수 있다. 바이트 코드 : JVM이 실행하는 명령어 집합 코드 커버리지 코드 커버리지 테스트 수행 결과를 정량적인 수치를 나타나는 방법으로 소스 코드 중 테스트를 통해 실행된 코드의 비율을 뜻함 실제 코드 커버리지가 실행되는 과정은 바이트 코드을 통해 커버리지 측정이 이루어진다. 바이트코드에서 테스트가 진행되어야 하는 전체 코드 라인을 카운팅 한 ..
JVM 이란? Java Virtual Machine의 약자로 자바 바이트 코드를 OS에 특화된 코드로 변환하여 실행 해주는 역할. 즉, JVM 위에서 동작하기 위해서는 자바 바이트코드가 필요함. 자바 바이트 코드는 개발자에 의해서 작성된 자바 코드를 자바 컴파일러로 변환 된 코드를 말함 바이트 코드를 실행하는 "표준"이자 "구현체" JVM 표준 스택에 따라 다양한 밴더가 제공이 되고 있음 오라클, 아마존 등등 JVM은 OS에 특회된 코드로 변환해 실행을 해주기 때문에 특정 플랫폼에 종속적인 특징을 가지고 있음 이것의 의미는 자바에서는 JVM에 의해서 실행이 되기 때문에 자바는 운영체제에 독립적이라고 할 수 있음 JRE, JDK, Java The Secret of Java- JDK, JRE, JVM dif..
상속 https://blog.itthis.me/57 상속이란? 현실 세계 관점 부모가 자식을 선택해서 물려주는 행위 객체 지향 프로그래밍 관점 자식(하위, 파생) 클래스가 부모(상위) 클래스의 멤버를 물려받는 것 자식이 "부모를 선택"해 물려받음 상속 대상 : 부모의 필드와 메소드 활용 상속의 효과 부모 클래스 "재사용"해서 자식 클래스에서 빠르게 개발 가능 중복 코드 줄임 유지 보수 편리성 객체 다형성 구현 상속 대상 제한 부모 클래스의 private 접근 제한을 갖는 필드와 메소드는 제외 부모 클래스가 다른 패키지에 존재하는 경우, default 접근 제한을 갖는 필드와 메소드도 제외 클래스 상속 자식 클래스가 상속할 부모 클래스를 "지정"하는 키워드 자식이 부모를 지정! 자바의 상속은 다중 상속을 ..
들어가기전 객체 개념 물리적으로 존재하는 것(자동차, 책 등등) 추상적인 것 중 자신의 속성과 동작을 가지는 모든 것 객체는 필드과 메소드로 구성되어 자바 객체 모델링이 가능함 현실 세계의 객체를 소프트웨어의 객체로 모델링 하는 과정 객체 지향 프로그래밍 캡슐화 https://docsplayer.org/104244489-Chapter-01-html.html 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것 외부 객체는 객체 내부 구조를 알지 못하며 객체가 노출해 제공하는 필드와 메소드만 이용 가능 필드와 메소드를 캡슐화 하여 보호하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하기 위함 자바 언어는 캡슐화된 멤버를 노출 시킬 것인지 숨길 것인지 결정하기 위해 접근 제한자(..
C, C++을 배우지 않고 Java를 배우는 경우 참조 타입에 대해서 낯선 느낌이 들 수 있다. 그리고 실제 참조 타입에 대한 이해가 부족해 프로그램을 만드는 과정에서 참조 타입에 대한 것을 고려하지 않고 짠 프로그램은 나중에 어떠한 큰 문제들이 발생할 위험이 커지게 된다. 좋은 프로그램이라 함은 데이터를 얼마나 안전하게 가져오고 사용하는지에 따라 결정이 되는데, 참조 타입이 거기서 핵심적인 역할을 한다고 해도 과언이 아니다. 그래서 이제 참조 타입, 그리고 이 글의 제목인 Call By Value, Call By Reference가 무엇인지 알아보자. 참조 변수 자바의 타입 본격적으로 참조 타입을 알아보기 전에 자바의 타입에 대해 소개하자면 자바는 크게 2가지의 타입이 존재를 한다. https://ww..
Enum이란? Enum은 일정 개수의 상수 값을 정의한 다음, 그 외의 값을 허용하지 않는 타입 C, C++, C# 와 같은 언어에도 Enum 이 존재함 정수 열거형 자바는 과거 Enum 타입을 지원하지 않았는데, 그래서 아래와 같이 정수 상수 값을 한 묶으로 사용해 선언하곤 했다. public static final int GALAXY_NOTE = 0; public static final int GALAXY_TAP = 1; public static final int GALAXY_S = 2; public static final int APPLE_IPONE = 0; public static final int APPLE_IPAD = 1; public static final int APPLE_SE = 2; 그..