본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그

자기발전소/# JAVA12

[JAVA] 배열 개념 정리: 배열 복사 arraycopy 1. 기본 자료형 배열의 복사 System.arraycopy(복사할 소스 배열, 복사할 첫 위치, 복사 대상 배열, 붙여넣을 첫 위치, 복사할 요소 갯수(length)) 그런데, 위와 같이 복사할 요소 갯수가 복사 대상 배열의 크기보다 넘어가는 경우, 에러가 발생한다. 2. 객체 배열의 복사 2-1) 얕은 복사 객체 배열을 복사해본다. 그런데, 복사 원본 객체 배열의 값을 바꾸었더니, 해당 원본을 복사한 shelf2 배열의 값도 따라 바뀌었다. 이는 값이 복사된 것이 아니고 "주소"가 복사된 얕은 복사였기 때문이다. 즉, shelf1[0] 과 shelf2[0]이 같은 값을 가리키고 있다. 2-2) 깊은 복사 각 객체 배열이 서로 다른 인스턴스의 메모리를 요소로 가지게 하는 깊은 복사는 다음과 같이 get.. 2021. 8. 1.
Spring Boot 실습 3: Repository Test 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 웹 개발 실습 # 3 개발한 기능을 실행해서 테스트 해보자 개발한 기능을 실행해서 테스트할 때 main 메서드를 실행하거나 웹 어플리케이션의 컨트롤러를 통해 해당 기능을 실행하는 방법이 있다. 하지만 이 방법은 시간이 오래걸리고 반복 실행이 어렵고 여러 테스트를 한 번에 하기 어렵다는 쓰리 콤보 단점이 있다. JUnit이라는 프레임워크를 통해 테스트를 실행하여.. 2020. 11. 6.
Spring Boot 실습 2: Repository 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 웹 개발 실습 #2 구현체 MemoryMemberRepository 를 생성하고 MemberRepository의 모든 메서드를 구현한다. 1. save ( ) 메서드 구현하기 : 저장 기능 구현 1-1) 저장을 해놓아야 하는 곳 생성 : store Map 형식 Key값이 되는 것은 ID(Long), 값은 Member 객체다 HashMap과 long - 실무에서.. 2020. 11. 6.
Spring Boot 실습 1: 비즈니스 로직 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 웹 개발 실습 #1 비즈니스 요구사항 분석부터 먼저, 핵심 비즈니스 로직을 살펴보자 데이터 : 회원 ID, 회원 이름 기능 : 회원 등록 및 조회 가상의 시나리오: 아직 데이터 저장소가 선정되지 않은 상태에서 개발을 시작하는 중이다. [ 클래스 의존관계 ] 인터페이스로 구현 클래스를 변경할 수 있게 설계한다. 메모리로 단순하게 저장할 수 있는 구현체를 만들어 .. 2020. 11. 5.
Spring 웹 개발 기초 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 스프링 웹 개발 기초 정적 컨텐츠 : welcome page처럼 서버에서 뭐 하는 것 없이 파일을 !그냥 그대로! 웹브라우저에 내려주기 MVC 와 템플릿 엔진: 서버에서 프로그래밍해서 HTML을 조금 동적으로 변환하여 내려주기 API : JSON이라는 데이터 구조 포맷으로 클라이언트에게 데이터를 전달하는 방식 , API만 .. 2020. 11. 5.
Spring Boot 공부 기록 2 Spring Boot 기능 Spring Boot는 자바 웹 애플리케이션 개발과 관련된 어마어마한 기능을 담고 있기 때문에 필요한 기능을 찾는 것이 중요하다. > 기능확인하기 접속 사이트: spring.io 경로 : Project > Spring BOOT >Learn > 해당 버전에 맞는 Ref.Docs > Spring boot Feature > Welcome Page 기능 스프링 부트는 static > index.html 을 가장 첫 번째로 찾아서 웰컴 페이지 기능을 제공 Spring Boot 구조 1. Controller-Model-View 2. Controller 파일 생성 : 웹 어플리케이션의 첫 진입점 model(data:hello!) return: "hello" 🔦 viewResolver가 te.. 2020. 11. 5.
Spring Boot 공부 기록 1 Spring Boot 시작 1. Gradle 프로젝트 파일 생성 https://start.spring.io Spring Initializer : 스프링 부트 프로젝트 생성하는 웹사이트 * 요즘은 Maven → Gradle 프로젝트 추세 ** (Snapshot) : '아직 만들고 있다'는 뜻 Group : 기업 도메인을 적어주는 곳 Artifact : 빌드 결과물 ✔ Dependencies Lombok Spring Web Thymeleaf - html 템플릿 엔진 2. Generate 후 생성되는 파일 압축을 풀어서 IntelliJ로 "build.gradle" 열기 ✔ build.gradle 선택하여 Open as Project 처음에 외부에서 라이브러리를 다운받는 동안 네트워크가 연결되어야 하고, 로딩이.. 2020. 11. 4.
JAVA : SingleTon 싱글톤 패턴 싱글톤 패턴이란 ? 특정 클래스의 객체가 유일하게 하나만 존재해야 할 때 1. Private 접근제한자를 통해 생성자를 선언함으로써 외부에서 클래스가 인스턴스화 되지 않게하고, 기존의 인스턴스를 활용합니다. 2. 생성자가 여러 번 호출되도 실제로 생성되는 객체는 하.나,뿐 3. 이미 객체가 하나 존재하는 상태에서 계속 호출하면 어떻게 되나요? getInstance()메소드를 통해 이미 생성한 객체를 반환 4. 장점 4-1. 객체생성마다 생기는 메모리 할당이 없어 메모리 낭비를 방지 4-2. 싱글톤으로 구현한 인스턴스는 전역static에 할당되기 때문에 다른 클래스 인스턴스들이 데이터 공유 가능 Singletone > Company.java Singletone > CompanyTest.java 2020. 11. 3.
JAVA : 구구단, 로또 gugudan.java lotto.java 2020. 11. 3.