👩💻 BackEnd 썸네일형 리스트형 [Java] 자바의 정석 : 매개변수의 다형성 매개변수의 다형성 1. 다형적 매개변수 2. 하나의 배열로 여러 종류 객체 다루기 1. 참조형 매개변수는 메서드 호출 시, 자신과 같은 타입 또는 자손 타입의 인스턴스를 넘겨줄 수 있다. - 메서드의 매개변수를 조상 타입의 참조변수를 사용해서 하나의 메서드로 여러타입의 객체를 받을 수 있도록 조상이 될 클래스 Product 생성 class Product { int price; int bonusPoint; Product(int price) { this.price = price; bonusPoint = (int) (price / 10.0); // 보너스 점수는 제품 가격의 10% } } int price 를 매개변수로 받는 생성자 작성 보너스 점수는 제품 가격의 10%를 적립해주는 식 Product를 상속받.. 더보기 [Java] 자바 8 버전 이상의 자바문법 : Optional Optional : null이 들어있는 레퍼런스 변수의 멤버에 접근하려고 할 때 발생하는 예외인 NullPointerException 을 우아하게 해결하기 위해 등장. package pkg2; public class OptionalTest{ private static String getSomeString(){ return null; // 이 메서드는 항상 null 을 반환한다. } public static void main(String[] args) { String isThisNull = getSomeString(); System.out.println(isThisNull.toUpperCase()); // if (null != isThisNull) { // System.out.println(isThisNu.. 더보기 [Java] 자바 8 버전 이상의 자바문법 : 스트림 API ✅ ** 해당 내용은 '이것이 취업을 위한 백엔드 개발이다' 책을 보며 개인공부 목적으로 정리한 내용입니다! ** 스트림 API 컬렉션에 추가된 메서드의 집합을 의미 컬렉션에 담긴 데이터를 처리하는 존재라는 것을 명심! forEach() : 컬렉션의 요소들을 하나씩 꺼내서 반복하므로 문법적으로 보면 반복문을 쉽게 대처할 수 있다. public class Lambda { public static void main(String[] args) { List list = new ArrayList(); list.add("public"); list.add("static"); list.add("void"); // for 문으로 List 를 순회할 수 있다. for (int i = 0; i < list.size(); i.. 더보기 [Java] 자바의 정석 : 참조변수의 형변환 참조변수의 형변환 : 사용할 수 있는 멤버의 갯수를 조절하는 것을 의미 : 조상 - 자손 관계의 참조변수는 서로 형변환 가능 참조변수 멤버의 개수를 줄이는 것은 안전 하지만 참조 변수의 개수를 늘리는 것은 위험, 따라서 형변환을 꼭 명시 해줘야 한다. package pkg2; public class Ex7_7 { public static void main(String[] args) { Car car; FireEngine fe = new FireEngine(); FireEngine fe2 = null; fe.water(); car = fe; // car.water(); // error Car 클래스에 멤버변수로 water 가 없음 fe2 = (FireEngine) car; // 자손 타입 더보기 [Java] 자바의 정석 : 다형성 다형성 : 여러가지 형태를 가질 수 있는 능력 : 조상타입 참조변수로 자손타입 객체를 다루는 것 package pkg2; public class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class SmartTv extends Tv { String text; void caption() { // 생략 } } 이렇게 클래스가 있으면 Tv tv = new SmartTv(); // 가능 SmartTv tv = new Tv(); // 불가능 SmartTv 가 더 많은 멤버를 갖는데 해당 타입으로 Tv 를 다루려고 하면 .. 더보기 [Java] 자바의 정석 : 접근제어자, 캡슐화 접근 제어자의 종류는 빠삭하게 알지만 그 활용이 잘 이해가 안간다. 접근 제어자의 종류 public : 접근 제한이 거의 없음. (default) : 같은 패키지 내에서 접근 가능. (접근 제어자 명시를 하지 않으면 default 접근 제어자) protected : 같은 패키지 내에서 그리고 상속받은 자손 클래스에서 접근이 가능. private : 같은 클래스 내에서만 접근이 가능. 학습 목표 : 오늘 예시를 통해서 조금 더 확실하게 익히고, 어떤 상황에서 접근 제어자를 활용할 수 있는지 알아보자. package pkg1; class MyParent { public int pub; protected int ptd; int dft; private int prt; public void printMembers.. 더보기 [ Spring Boot / thymleaf ] spring mvc 2 검증 내용 정리 ✏️ 오늘 새롭게 알게 된 내용 메모 타임 리프에서 map 을 꺼내는 코드 전체 오류 메시 Safe Navigater operator ?. : errors 가 null 이면 무시하라는 로직 등록 폼에 진입한 시점에는 errors 가 없다. 따라서 errors.containsKey 를 호출하는 순간 NullPointerException이 발생한다. errors?. 는 errors 가 null 일 때, NullPointerException 가 터지는 대신 null 을 반환하는 문법이다. th:if 에서 null은 실패로 처리되기 때문에 오류메시지를 출력하지 않는다. 이는 spring EL이 제공하는 문법이다. 필드 에러 처리 방법 1 ) 상품명 상품명 오류 방법 2 ) classappend 사용 상품명 상품.. 더보기 [JSP / Spring Boot] 시큐리티 태그 라이브러리 1️⃣ model 객체에 principalDetails.getUser() 정보 넘겨서 JSP 에서 사용하는 방법 로그인한 사용자의 정보를 앞단으로 전송하기 위해서 사용했던 방법은 model 객체에 addAttribute() 메서드를 통해 사용자의 객체를 넘겨주는 방법을 사용했었다. @GetMapping("/user/{id}/update") public String update(@PathVariable int id, @AuthenticationPrincipal PrincipalDetails principalDetails, Model model) { model.addAttribute("principal", principalDetails.getUser()); return "user/update"; } 그리고 .. 더보기 이전 1 2 3 4 5 6 7 ··· 10 다음