본문 바로가기
728x90

전체 글240

[JAVA] 09 - 1 중첩 클래스와 중첩 인터페이스 소개 중첩 클래스 - 클래스 내부에 선언하는 클래스를 말함 - 중첩 클래스를 통해 두 클래스 멤버들이 서로 쉽게 접근할 수 있음 - 클래스 안에 클래스를 정리할 수 있어서 정리가 되어 코드의 복잡성을 줄일 수 있음 - 클래스 내부에 인터페이스를 선언하면 그것은 중첩 인터페이스임 (해당 클래스의 구현 클래스를 만들기 위해 선언) 중첩 클래스의 종류 - 멤버 클래스 : 클래스의 멤버로서 선언됨 -> 클래스나 객체가 사용 중일 때는 언제든 재사용 가능 멤버 클래스 안에서는 인스턴스 멤버 클래스(static이 붙지 않음)와 정적 멤버 클래스(static이 붙음)로 나뉜다. - 로컬 클래스 : 생성자나 메소드 내부에 선언됨 -> 해당 메소드를 실행할 때만 사용 가능 - 정적 멤버 클래스 : 상위 객체가 인스터스화되지 .. 2022. 3. 21.
[JAVA] 08 - 2 타입 변환과 다형성 인터페이스의 다형성 - 다형성을 구현하기 위해 필요한 2가지 : 메소드 재정의와 타입 변환 - 상속과 마찬가지로 인터페이스에서도 이 두 가지 기능이 제공됨 - 상속과 차이점 : 상속은 같은 종류의 하위 클래스 생성, 인터페이스는 사용 방법이 동일한 클래스를 만드는 기술 - 인터페이스의 다형성이 필요한 이유 : 소스 코드의 변함 없이 구현 객체를 빠르고 쉽게 교체하기 위해서이다 - 이를 통해 구현 객체를 쉽게 교체하여 실행 결과가 다양해져 인터페이스의 다형성을 이루게 됨 - 구현 객체 교체 예시 interface I { // 인터페이스 생성 void method1(); void method2(); } // I i = new A(); // 이 코드를 아래 코드로 수정함 I i = new B(); i.meth.. 2022. 3. 21.
[JAVA] 08 - 1 인터페이스 인터페이스란 ? - 기능 사용을 위한 규약 - 객체의 사용 방법을 정의한 타입 - 다양한 객체를 동일한 방법으로 이용할 수 있게 해줌 - 개발 코드에서 인터페이스의 메소드를 호출하면 이제 인터페이스가 객체의 메소드를 호출시킴 - 개발 코드를 수정하지 않고 객체를 변경할 수 있게 하여 개발 코드 측면에서 실행 내용과 리턴 값을 다양화할 수 있다. 인터페이스 선언 1. 특징 - 클래스와 규칙이 동일함 (대문자로 시작) - 상수 필드와 추상 메소드만을 멤버로 가진다. ( 객체를 생성할 수 없기 때문에 생성자는 가질 수 없음) - 인터페이스는 객체 사용 방법만 정의한 것이므로 인스턴스나 정적 필드를 선언할 수 없다. (상수 필드는 고정된 값이므로 선언이 가능) - 최종 실행은 객체에서 실행되므로 인터페이스에서 .. 2022. 3. 21.
[JAVA] 07 - 3 추상 클래스 추상 클래스의 의미 - 실체들의 공통되는 특성을 가지고 있는 클래스를 의미하며 규격(기준) 클래스라고도 부른다. - 실체 클래스(자식)와 추상클래스(부모)는 상속의 관계를 가지고 있음 - 실체 클래스는 추상 클래스의 모든 특성(필드, 메소드)을 물려받고 추가로 다른 특성을 가질 수 있음 - Dog 클래스와 Cat 클래스에서 공통으로 사용된 필드나 메소드를 따로 Animal 클래스에다가 만들 수 있음 추상 클래스를 사용하는 목적 2가지 1. 시간 절약 - 집전화기와 스마트폰 모두 사용자라는 데이터와 전원이라는 기능이 필요한데 이를 각각에 만들어주면 일이 2배로 늘어나게된다. - 따라서 전화 라는 추상 클래스를 만들어 거기에 사용자와 전원을 만들어주면 그걸 불러쓰면 되기 때문에 일이 수월해진다. 2. 이름 .. 2022. 3. 21.
[JAVA] 07 - 2 타입 변환과 다형성 다형성 간단히 설명 - 다형성 : 다양한 객체를 통해 다양한 실행결과를 출력시킴 - 다형성의 예 : 모든 타이어는 달리게 해주는 기능이 들어있지만 어떤 타이어를 장착하느냐에 따라 주행 성능이 달라짐 - 예를 들어 자동차는 한국타이어와 금호타이어 중에서 타이어 타입을 선택하고 각 타이어 마다 성능은 다르게 나온다. - 다형성을 구현하려면 메소드 재정의 + 타입변환이 필요하다. 자동 타입변환 - 클래스에서의 타입 변환은 상속 관계에 있는 클래스 사이에서 발생하며 자식이 부모 타입으로 자동 변환이 가능하다. - 자동 타입 변환 (=promotion)은 프로그램 실행 도중에 자동적으로 일어나는 타입 변환을 말함 - 자동 타입 변환 형태 : 부모타입 변수 = 자식타입; - 자동 타입 변환 개념 : 자식이 부모의 .. 2022. 3. 21.
[Spring] 4장 의존성 주입 - 의존성 관리 / 생성자 인젝션과 Setter 인젝션 이용 / 컬렉션 객체 설정 실습 코드 참조 moonhy7/SpringFramework: Spring Framework 실습 코드 정리 (github.com) GitHub - moonhy7/SpringFramework: Spring Framework 실습 코드 정리 Spring Framework 실습 코드 정리. Contribute to moonhy7/SpringFramework development by creating an account on GitHub. github.com 4.1절 의존성 관리 1. 스프링의 의존성 관리 방법 - 스프링 프레임워크의 특징 : 객체의 생성과 의존관계를 컨테이너가 자동으로 관리 (IoC의 핵심 원리) - 스프링은 Dependency Lookup과 Dependency Injection의 2가지 형태.. 2022. 2. 6.
[Spring] 3장 스프링 컨테이너 및 설정 파일 - 스프링 IoC 시작하기 및 스프링 XML 설정 (init, destroy, lazy, scope) 실습 코드 참조 moonhy7/SpringFramework: Spring Framework 실습 코드 정리 (github.com) GitHub - moonhy7/SpringFramework: Spring Framework 실습 코드 정리 Spring Framework 실습 코드 정리. Contribute to moonhy7/SpringFramework development by creating an account on GitHub. github.com 3.1절 스프링 IoC 시작하기 1. 스프링 설정 파일 생성 1) 스프링 설정 파일 생성 2) 설정 - class 속성 값에는 패키지 경로가 포함된 전체 클래스 경로 지정 2. 스프링 컨테이너 구동 및 테스트 ( _005_BoardWeb_SpringCont.. 2022. 2. 3.
[Spring] 2장 프레임워크 개요 - 프레임워크의 개념과 장점, 특징 / 결합도를 낮추는 방법 실습 코드 참조 moonhy7/SpringFramework: Spring Framework 실습 코드 정리 (github.com) GitHub - moonhy7/SpringFramework: Spring Framework 실습 코드 정리 Spring Framework 실습 코드 정리. Contribute to moonhy7/SpringFramework development by creating an account on GitHub. github.com 2.1절 프레임워크 개념 1. 프레임워크의 등장 배경 1) 용어 정리 1. 프레임워크 : 틀, 뼈대 2. 스프링 프레임워크 : 웹 어플리케이션 개발에 뼈대, 틀을 제공, jsp, java, 쿼리 문 등으로 살과 근육 붙이는 작업을 진행 4. 컨테이너 : 뼈.. 2022. 2. 2.
[Spring] 첫째 날 1장 스프링 프레임워크 시작하기 - 톰캣 서버 연동 / 데이터베이스 구축 / STS(Spring Tool Suite) 설치 Spring 교재 정보 스프링 퀵 스타트(Spring Quick Start) 채규태 | 루비페이퍼 실습 코드 참조 moonhy7/SpringFramework: Spring Framework 실습 코드 정리 (github.com) GitHub - moonhy7/SpringFramework: Spring Framework 실습 코드 정리 Spring Framework 실습 코드 정리. Contribute to moonhy7/SpringFramework development by creating an account on GitHub. github.com 1.1절 개발 환경 구축 - JDK / 이클립스 / 톰캣 서버 설치 생략 - STS 툴 다운 / 데이터베이스 구축만 진행할 예정 1. STS (Spring T.. 2022. 1. 30.
728x90