반응형 Java30 제네릭 (Generics) 제네릭이란? 제네릭은 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형 변환의 번거로움이 줄어든다. 즉 장점은, 타입 안정성을 제공 타입 체크와 형 변환을 생략할 수 있으므로 코드가 간결해짐 제네릭은 클래스와 메서드에 선언할 수 있는데, 먼저 클래스에 선언하는 제네릭 타입에 대해 알아보자. 먼저 아래와 같은 Box 클래스 코드가 있다. class Box{ Object item; void setItem(Object item) { this.item = item; } Object getItem(){ return item; } } 위 코드를 아래와 같이 수정할 수 있다. 클래스를 제네릭 클래.. 개발/Java 2022. 3. 6. 접근 제어자 접근 제어자 접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 클래스나 멤버 변수, 생성자에 접근 제어자가 지정되어 있지 않다면, 접근 제어자가 default(package-private)임을 뜻한다. 접근 제어자는 클래스, 멤버 변수, 메서드, 생성자에서 사용 가능하며 접근 제어자는 아래와 같이 정리할 수 있다. private : 같은 클래스 내에서만 접근이 가능하다. protected : 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능하다. default(package-private) : 같은 패키지 내에서만 접근이 가능하다. public : 접근 제한이 전혀 없다. 접근 범위가 넓은 쪽에서 좁은 쪽의 순.. 개발/Java 2022. 2. 28. package(패키지) Package(패키지 ) package, 즉 패키지란 클래스의 묶음이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있다. 또한 서로 관련된 클래스를 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 사실 클래스의 실제 이름은 패키지명을 포함한 것이다. 예를 들면 String클래스의 실제 이름은 java.lang.String이다. 그래서 같은 이름의 클래스일 지라도 서로 다른 패키지에 속하면 패키지명으로 구별이 가능하다. 클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지는 물리적으로 하나의 디렉토리다. 패키지의 선언은 아주 간단한다. package 패키지명; 클래스나 인터페이스의 소스파일의 맨 위에 다음과 같이 한 줄만 적어주면 된다. 위와 같은 패키지 선언문은.. 개발/Java 2022. 2. 28. 변수와 리터럴 변수 변수란, 단 하나의 값을 저장할 수 있는 메모리 공간이다. 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 '변수이름'을 통해 활용할 수 있다. 변수를 선언하면 메모리는 여러 프로그램이 공유하는 자원이므로 다른 프로그램에 의해 저장된 알 수 없는 쓰레기 값이 남아있을 수도 있다. 그래서 변수는 사용되기 전 적절한 값으로 초기화 하는 것이 좋다. 지역변수는 사용하기 전에 초기화를 반드시 하지만 클래스 변수와 인스턴스 변수는 초기화를 생략할 수 있다. 변수를 선언할 때는 저장하려는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택한다. 자료형은 크게 '기본형' 변수 8가지와 그 외 '참조형' 변수로 나눈다. 그러면 기본형과 참조.. 개발/Java 2022. 2. 24. JPA 2023. 02.07 09:00 복습 시작 JPA란 무엇인가? JPA는 자바 진영의 ORM 기술 표준이다. 그럼 ORM이란 무엇인가? ORM은 Object-Relational Mapping의 줄임말이다. 이름 그대로 객체와 관계형 데이터베이스를 매핑하는 것이다. 즉 SQL을 직접 짜지 않고 자바 코드로 편하게 객체를 ORM 프레임워크에 저장하면 데이터베이스에 저장할 수 있다. 예전에 Express와 Prisma를 다루어본 적이 있어서 쉽게 이해가 갔다. JPA에 대해 간단히 알아보았다. 그럼 더 중요한 궁금증이 남아있다. 우리는 왜 JPA, 즉 ORM을 사용할까? 웹 서비스를 운영하려면 고객 데이터도 저장하고 서비스 데이터도 저장해야 하고 또 이 데이터들을 사용해야 한다. 그러면 데이터를 저장하고 꺼내오.. 개발/JPA 2022. 2. 22. 스프링 MVC - 구조 이해 본 게시글은 인프런 김영한 선생님 강의 스프링 MVC 1편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. (2022.08.07 수정) - 복습을 하면서, 기억할 부분 설명 추가. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/ 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 저번 시간까지 나만의 MVC 프레임워크를 만들었다. 이제 직접 만든 MVC 프레임워크.. 개발/Spring MVC 2022. 1. 9. 이전 1 2 3 다음 반응형