TIL56 내일배움캠프 7주차 모의면접 오늘의 키워드객체 지향 프로그래밍이란RESTful API 설계를 하는 이유 적절한 관심사를 나누는 이유(SoC) NOSQL과 RDBMS에 대해 설명 Setter를 무분별하게 사용하면 안 되는 이유는 무엇인가오늘의 내용객체 지향 프로그래밍이란 캡슐화(Encapsulation): 객체의 상태(속성)를 객체 내부에 감추고, 객체가 제공하는 메서드를 통해서만 상태를 변경할 수 있게 한다상속(Inheritance): 기존 클래스의 속성과 메서드를 새로운 클래스가 물려받아 재사용할 수 있게 한다다형성(Polymorphism): 동일한 메서드 호출이 객체의 타입에 따라 다르게 동작할 수 있도록 한다추상화(Abstraction): 복잡한 시스템에서 핵심적인 개념만을 모델링하여 단순화한다RESTful API 설계를 하는.. 2024. 5. 28. 내일배움캠프 7주차 Java 인터페이스, 패키지 오늘의 키워드인터페이스패키지오늘의 내용인터페이스선언만 되어 있는 메서드들의 집합이며 자바에서 다중 상속이 되지 않기 때문에 여러 개의 클래스로부터 상속을 받아야 하는 경우 사용한다인터페이스의 모든 메서드는 항상 public이고 필드들은 항상 static final로 상수만 허용된다interface 인터페이스명 { // 인터페이스 정의 : 상수 필드와 추상 메서드로 구성된다}인터페이스 확장은 extends예약어를 사용하고 하나 이상의 인터페이스에서 확장될 수 있다interface 인터페이스명 extends 인터페이스명[,,,,] { //인터페이스 정의}class 클래스명 implements 인터페이스명 { //인터페이스를 구현한 클래스 정의}인터페이스에 정의된 모든 메서드를 위한 기능을 반드시 정의해야하며.. 2024. 5. 27. 내일배움캠프 6주차 Java 오버로딩, 오버라이드, 추상클래스 오늘의 키워드오버로딩오버라이딩추상클래스오늘의 내용오버로딩 이름은 하나만 부여하고 매개 변수를 다르게 함으로써 메서드를 여러 개 만드는 것을 말한다 다형성 : 여러 개의 클래스가 같은 메시지에 대해 각자의 방법으로 작용할 수 있는 행위인데 이걸 나타내는 게 오버로딩이다오버라이딩 오버로딩과 유사하게 수행되는데 부모클래스에 존재하는 메서드들이 서브클래스에 다른 작업을 수행할 수 있도록 동일한 함수명으로 재정의하는 것이다 오버라이드의 목적은 서브클래스에 적합한 메서드로 만들기 위해서고 서브클래스에서 오버라이드를 못하게 하고 싶은 경우 부모클래스의 정의를 final로 지정하면 된다 객체의 부모클래스를 참조하는 변수는 super이다 부모클래스와 상속받은 클래스의 메서드명이 같은 경우 부모클래스의 메서드가 감추어지.. 2024. 5. 26. 내일배움캠프 6주차 Spring JWT, Spring Security, Validation 오늘의 키워드JWTFilterSpring Security 프레임워크Validation오늘의 내용JWTJSON Web Token은 JSON포맷을 이용해 사용자에 대한 속성을 저장하는 Claim기반의 Web Token이고 보통 쿠키 저장소를 사용해 저장한다로그인 정보를 서버에 저장하지 않고 클라이언트에 로그인 정보를 JWT로 암호화 후 저장해 모든 서버가 동일한 Secret Key를 소유하고 이를 통한 암호화, 위조검증을 한다누구나 평문으로 복호화가 가능하지만 Secret Key가 없으면 수정이 불가능하다JWT구조 중 Payload부분에는 토큰에 담긴 정보가 들어있다여기에 담긴 정보 한 조각을 Claim이라 하고 key-value 한 쌍으로 이루어져 있다. 토큰에는 여러 개의 Claim을 넣을 수 있다@En.. 2024. 5. 23. 내일배움캠프 6주차 Spring 관계의 종류, 영속성 전이 등 오늘의 키워드관계영속성 전이고아 Entity 삭제 오늘의 내용1 대 1 관계@OneToOne 애너테이션을 이용해 1대 1 관계를 맺어준다외래 키의 주인을 직접 지정해야하고 외래 키의 주인은 등록, 수정, 삭제가 가능하며 주인이 아닌 쪽은 외래 키 읽기만 가능하다단방향 관계@JoinColumn()은 외래 키의 주인이 활용하는 애너테이션이고 컬럼명, null여부, unique여부를 지정할 수 있다. 단방향의 경우 @JoinColumn()만 사용하면 된다@JoinColumn()을 생략해도 디폴트 옵션이 적용되는데 1대N의 관계에서는 생략하면 JPA가 외래 키를 저장할 컬럼을 파악하지 못해 의도치 않은 중간 테이블이 생성되어 반드시 설정해 주는 게 좋다양방향 관계양방향 관계에서 외래 키의 주인을 지정할 때 @J.. 2024. 5. 22. 내일배움캠프 6주차 Spring 빈(Bean)의 수동 등록, 인증과 인가....등 오늘의 키워드빈(Bean)의 수동 등록인증과 인가쿠키-세션 방식의 인증JWT 기반 인증RESTTemplate오늘의 내용빈의 수동 등록기술적인 문제나 공통적인 관심사를 처리할 때 사용한다기술지원 빈 : 공통 로그처리와 같은 비즈니스 로직을 지원하기 위한 부가적이고 공통적인 기능을 수동으로 등록하는 것이다. 비즈니스 로직보다는 수가 적어 수동으로 등록하는데 부달이 덜하고 문제 발생 시 해당 위치 파악이 쉽다인증과 인가인증(Authentication) : 해당 유저가 실제 유저인지 인증하는 개념이다웹 애플리케이션 인증 : 보통 서버와 클라이언트 구조로 되어있고 HTTP프로토콜을 이용한다. 비연결성과 무상태로 이루어져 있다비연결성(Connectionless) : 서버와 클라이언트가 연결되어 있지 않다는 것으로 .. 2024. 5. 21. 내일배움캠프 6주차 JAVA 상속 오늘의 키워드상속오늘의 내용상속기존에 만들어져 있는 클래스에 새로운 기능을 추가하여 향상된 클래스를 만들고 각각의 클래스 간에 상하 관계를 연결하는 작업을 말한다현재 객체와 유사한 새로운 객체를 생성할 때 처음부터 하기보다 확장을 해 새로운 객체 생성이 가능하다이미 정의되어 있는 부모클래스의 메서드를 비롯한 모든 속성을 물려받아 서브 클래스는 부모클래스의 메서드와 속성을 서브클래스에 정의하지 않아도 자식의 속성으로 사용이 가능하다단일 상속 : 상속자가 한 개의 부모클래스로부터 속성을 물려받는 것다중 상속 : 상속자가 여러 부모클래스로부터 속성을 물려받는 것extends를 사용해 부모클래스를 지정하는데 생략하면 패키지에서 정의된 객체클래스가 부모클래스로 자동 지정된다extends에서 부모 클래스를 지정하면.. 2024. 5. 20. 내일배움캠프 5주차 Java 컬렉션 오늘의 키워드컬렉션오늘의 내용배열의 특징초기화 시 크기가 고정된다동일한 데이터 타입의 요소만 저장된다인덱스를 사용해 빠르게 접근한다구조가 간단해 메모리 효율이 좋고 성능이 빠르다컬렉션의 특징크기가 동적으로 변한다제네릭을 사용해 다양한 타입의 데이터를 저장할 수 있다다양한 요구사항에 맞는 여러 데이터 구조를 제공한다데이터 조작을 위한 메서드를 제공한다(삽입, 삭제, 검색 등)인터페이스 특징List : 순서가 있고 중복이 허용된다Set : 순서가 없고 중복이 허용되지 않는다Map : 순서가 없고 키와 값 쌍으로 이루어진 데이터의 집합으로 순서는 유지되지 않으며 키는 중복을 허용하지 않지만 값은 중복이 허용된다(키는 고유한 식별자, 값은 키에 연결된 데이터)컬렉션 프레임워크는 데이터를 저장 검색 정렬 등을 위.. 2024. 5. 17. 이전 1 2 3 4 5 6 7 다음