인터페이스(Interface)란 인터페이스는 프로그램 내 다양한 기능을 하는 클래스들에게 기본이 되는 틀(구조)를 제공하는 역할을 한다. 이전의 포스팅을 보았다면 알겠지만, 추상 클래스와 비슷한 개념이라고 생각하면 된다. 하지만, 자바는 단일 상속을 원칙으로 하고 있기 때문에, 다중 상속을 지원하기 위해 인터페이스를 사용할 수 있다. 자바에서 비슷한 개념인 추상 클래스는 추상 메서드뿐만 아니라 생성자, 필드, 일반 메서드도 포함할 수 있습니다. 하지만, 인터페이스는 오로지 상수(final)와 추상 메서드만 포함할 수 있습니다. 인터페이스 특징 1. 다중 상속 가능하다. 인터페이스는 껍데기만 존재하기 때문에 클래스 상속 시 발생했던 모호함이 없다. 그렇기 때문에 다중 상속이 가능하다. 추상 클래스를 상속..
추상 클래스란? 추상 클래스는 추상 메서드를 하나라도 가지고 있는 클래스를 만한다. 추상 메서드는 "메서드가 완성되지 않은, 껍데기만 있는 메서드" 이다. 쉽게 이해하기 위해서 예를 들자면 강아지, 고양이, 소 라는 객체가 있다고 하자. 이 3가지 객체의 공통점은 동물이라는 공톰점이 있겠지요. 그리고 이 객체들은 공통적으로 행위, 즉 "걷기", "먹기", "울기" 등의 메서드를 가지고 있을 겁니다. 이러한 공통되는 특성을 갖고 있는 것을 추상 클래스라고 합니다. 각 동물들은 걷고, 먹는 것은 동일하겠지만 각자 울음소리는 다를 것입니다. 그렇기 때문에 work(), eat() 은 부모 클래스에서 구현해주고 서로 다른 bark() 메서드만 추상 메서드로 선언한것이죠. 그럼 각 자식클래스에서 추상 메서드인 b..
자바의 특징이자 객체 지향(OOP) 4대 특성인 다형성을 지원하는 방법으로 메서드 오버로딩과 오버라이딩이 있다. 오버로딩(Overloading) 같은 이름의 메서드를 여러개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버라이딩(Overriding) 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의하는 기술 서로의 개념은 다르지만, 이름이 비슷하여 자주 헷갈리곤 합니다. 그래서 이번 글에서는 오버로딩과 오버라이딩의 차이점을 하나하나 살펴보고 예제로도 알아보겠습니다. (실제로 면접에서 자주 나오는 질문이라고 합니다만, 저는 면접을 본적이 없어서 잘 모르겠네요..) 오버로딩(Overloading) 오버로딩이란 같은 이름의 메서드를 여러개 정의하고, 매개변수의 유형과 개수를 다르게 하여 메서드..
인프런의 김영한님의 Spring 강의를 들으며 공부한 내용을 복습 차원에서 작성한 글이다. 이번 글에서는 스프링 컨테이너와 빈 등록(자동/수동) 방법에 대해 알아보겠다. 스프링 컨테이너란? 스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 한다. 여기서 말하는 자바 객체를 스프링에서는 빈(Bean) 이라고 부릅니다. 여기 글에서는 다루지 않지만, IoC와 DI의 원리가 이 스프링 컨테이너에 적용이 된다. (IoC와 DI, 제어와 역전 그리고 의존성 주입에 대해 잘 모르신다면 알아서 알아오기~) 개발자가 new 연산자, 인터페이스 호출 등등의 방식으로 객체를 생성하고 소멸시킬 수 있는데, 이 작업을 스프링 컨테이너가 대신해 줍니다. 즉, 제어 흐름..
- Total
- Today
- Yesterday
- 네이버지도크롤링
- 객체지향설계원칙
- 빈생명주기콜백
- 추상클래스
- 스프링
- 타임리프 기본기능
- 인터페이스
- Thymeleaf
- HttpServletRequest
- erd editor
- Overloding
- 스프링 컨테이너
- 타임리프
- 인터페이스 추상클래스 비교
- 크롤링
- 스프링특징
- 인식안됨
- Java
- HTTP요청
- RequiredArgsConstruct
- 스프링http
- redirectattribute
- Servlet
- 스프링 빈
- 인터페이스 추상클래스 차이
- 요청데이터
- 요청매핑
- erd툴
- 자바
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |