자바(8)
-
Java 06 - 객체지향개념 2
객체지향의 중요한 개념 2 상속 기존 클래스를 재사용해서 새로운 클래스를 작성하는 것이다. 조상과 자손의 관계를 맺어주는 것이다. 자손은 조상의 모든 멤버를 상속받는다. 단일 상속만을 허용한다. 조상이 없는 클래스는 자동으로 Object 클래스를 상속받는다. 오버라이딩 조상클래스의 메서드를 상속받은 클래스에서 재사용 하는 것이다. 선언부(이름, 매개변수, 리턴타입)가 같아야 한다. 조상보다 좁은 범위의 접근 제어자를 사용할 수 없다. 조상의 메서드보다 많은 수의 예외를 선언할 수 없다. super, this를 사용하여 조상의 멤버와 자손의 멤버를 구별한다. 제어자 클래스, 변수, 메서드 선언부에 사용되어 부가적인 의미를 부여한다. 접근제어자: public, protected, default, privat..
2021.06.28 -
Java 05 - 객체지향개념 1
객체지향의 중요한 개념1 객체지향언어의 특징 코드 간의 관계를 맺어줌으로써 적은 노력으로 코드 변경이 가능하다. 코드의 재사용성이 높아진다. 제어자와 메서드를 이용하여 데이터를 보호한다. 코드의 중복을 제거하여 오류를 방지한다. 클래스와 객체 클래스란 객체를 정의해 놓은 것이다. (ex 제품 설계도) 클래스는 객체를 생성하는데 사용한다. 객체란 실재로 존재하는 사물 또는 개념 (ex 제품) 객체는 속성과 기능에 따라 용도가 다르다. 객체는 인스턴스를 포함하는 일반적 의미이다. 객체는 속성과 기능으로 이루어져 있다. (ex 속성: 길이/높이 , 기능:켜기/끄기) 속성은 변수로, 기능은 메서드로 정의한다. 인스턴스(Instance) 클래스로 부터 인스턴스를 생성하는 것을 '인스턴스화' 라고 한다. 인스턴스 ..
2021.06.22 -
스프링 컨테이너
스프링 컨테이너 스프링 컨테이너란 클래스에 의존성을 부여해주고 제어하기 위해서 외부에서 사용하는 스프링 인터페이스이다. 스프링 컨테이너를 통해서 IOC(제어의 역전), DI(의존성 주입)이 가능해지며 좋은 객체지향 코드를 작성할 수 있게된다. @Component public class MemberServiceImpl implements MemberService{ private MemberRepository memberRepository;//인터페이스 @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } } 위와 같이 MemberRepository 인터..
2021.06.19 -
스프링 핵심개념 DI, IOC
의존성 주입(DI) 의존성 주입이란 외부에서 실제 참조형 구현 객체를 생성하여 클라이언트 객체에 전달함으로써 의존관계가 생기는 것을 뜻한다. 의존성 주입을 잘 활용하면 클래스의 내부에서 의존관계를 변경하지 않고 외부에서 동적으로 객체 인스턴스 의존관계를 쉽게 변경할 수 있다. 외부에서 객체를 생성하고 관리하면서 의존관계를 연결해 주는 컨트롤 객체를 'DI컨테이너'라고 한다. 다음 코드를 통해 좀 더 자세히 알아보자. //DI가 적용되지 않은 객체 public class CharacterServiceImpl implements CharacterService { //참조객체를 클래스 내부에서 직접 호출하여 선언 private final Character character = new CharacterState..
2021.06.09 -
Java 04 - 조건문과 반복문
조건문 여러 조건들을 판별하여 상응하는 조건에 문장을 실행한다. 조건문에는 if문과 switch문이 있다. if문 조건을 boolean의 true와 false로 판별하여 문장을 만든다. if(조건) : 조건이 true이면 진행 false이면 진행하지 않는다. else if(조건) : 조건을 다양하게 선택할 때 사용되며 상위 if문에서 false가 반환되었을 때 실행된다. else : 상위의 모든 조건을 만족하지 않을때 else문이 진행된다. if문 안에 또다른 if문 중첩이 가능하다. int a = 5; int b = 10; //false가 반환되어 실행되지 않는다. if(a > b){ return a; } //위의 if문이 false이므로 else if 문이 실행되고 마찬가지로 false 이므로 다음으..
2021.06.08 -
스프링 프레임워크란?
스프링 프레임워크의 탄생 배경 2000년대 초반 EJB(서버 측 비즈니스 로직을 작성하기 위한 Enterprise 환경에서의 자바 표준) 컨테이너의 복잡함 때문에 많은 개발자들이 혼란을 겪었다. 이에 2002년 로드존슨이 EJB의 문제점을 지적하면서 EJB 없이도 로직을 더욱 단순하면서 체계적으로 작성할 수 있는 오픈소스 코드를 개발하여 책으로 출간하면서 스프링의 역사가 시작되었다. 이 책에는 현재 스프링의 주요 개념이 되는 BeanFactory, DI, POJO,IOC, Application Context 등의 개념과 예제 코드들이 담겨있다. 책 출간 이 후, 유겐 휠러와 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안함으로써 프레임워크가 탄생하게 되었고 EJB라는 겨울을 넘어 봄이 왔다는 의미로 ..
2021.06.06