인터페이스(Interface)란 인터페이스는 프로그램 내 다양한 기능을 하는 클래스들에게 기본이 되는 틀(구조)를 제공하는 역할을 한다. 이전의 포스팅을 보았다면 알겠지만, 추상 클래스와 비슷한 개념이라고 생각하면 된다. 하지만, 자바는 단일 상속을 원칙으로 하고 있기 때문에, 다중 상속을 지원하기 위해 인터페이스를 사용할 수 있다. 자바에서 비슷한 개념인 추상 클래스는 추상 메서드뿐만 아니라 생성자, 필드, 일반 메서드도 포함할 수 있습니다. 하지만, 인터페이스는 오로지 상수(final)와 추상 메서드만 포함할 수 있습니다. 인터페이스 특징 1. 다중 상속 가능하다. 인터페이스는 껍데기만 존재하기 때문에 클래스 상속 시 발생했던 모호함이 없다. 그렇기 때문에 다중 상속이 가능하다. 추상 클래스를 상속..
추상 클래스란? 추상 클래스는 추상 메서드를 하나라도 가지고 있는 클래스를 만한다. 추상 메서드는 "메서드가 완성되지 않은, 껍데기만 있는 메서드" 이다. 쉽게 이해하기 위해서 예를 들자면 강아지, 고양이, 소 라는 객체가 있다고 하자. 이 3가지 객체의 공통점은 동물이라는 공톰점이 있겠지요. 그리고 이 객체들은 공통적으로 행위, 즉 "걷기", "먹기", "울기" 등의 메서드를 가지고 있을 겁니다. 이러한 공통되는 특성을 갖고 있는 것을 추상 클래스라고 합니다. 각 동물들은 걷고, 먹는 것은 동일하겠지만 각자 울음소리는 다를 것입니다. 그렇기 때문에 work(), eat() 은 부모 클래스에서 구현해주고 서로 다른 bark() 메서드만 추상 메서드로 선언한것이죠. 그럼 각 자식클래스에서 추상 메서드인 b..
자바의 기본 타입에 대해 처음 공부를 한다면, 가장 먼저 배우는 것이 int, double, String, boolean 일 것이다. 아무것도 모르던 시절에는 그냥 다 원시타입(기본타입)이구나~ 라고 넘겼으나, 사실은 그렇지 않다. String 클래스는 원시 타입으로 착각할 수 있으나 사실은 원시타입이 아니며 참조형 객체 클래스이다. 예를들어 우리가 int, double byte 이런 원시타입을 Wrapper 클래스로 바꾸어주면 Integer, Double, Byte 이런식으로 바꿀수 있지 않은가? String 은 Integer, Double, Byte 같이 Wrapper 클래스라고 생각하면 된다. 단지 String 의 원시타입은 없을뿐! (래퍼 클래스라고 불리는 Wrappre Class 에 대해선 추후..
프로그래밍을 공부하면서 제대로 집고가지 못한 개념 중 하나가 제네릭(Generic)이다. 프로그래밍을 하다보면 한 번쯤은 혹은 종종 들어보았을 개념이다. 특히나 자료구조 같이 구조체를 직접 만들어 사용할 때도 많이 쓰이기도 하고 매우 유용하기도 하다. 그럼 제네릭(Generic) 이라는 것은 무엇일까? 제네릭(Generic)은 직역하자면 '일반적인' 이라는 뜻인데, 딱 보았을 때는 이해가 잘 되지 않는다. 자바에서 제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 한마디로 특정(Specific)타입을 미리 지정해주는 게 아닌 필요할 때 지정할 수 있도록 한 일반(Generic)타입이라는 것이다. 자바에서 배열과 함께 자주 쓰이는 자료형이 리스트(List)인데, 다음과 같이..
- Total
- Today
- Yesterday
- 네이버지도크롤링
- 스프링http
- 인식안됨
- 빈생명주기콜백
- erd툴
- 크롤링
- 객체지향설계원칙
- 인터페이스 추상클래스 비교
- Java
- HTTP요청
- Overloding
- 인터페이스
- 스프링특징
- 스프링 빈
- 추상클래스
- HttpServletRequest
- 스프링
- Spring
- Thymeleaf
- 요청데이터
- erd editor
- 인터페이스 추상클래스 차이
- 타임리프
- 요청매핑
- Servlet
- 타임리프 기본기능
- 스프링 컨테이너
- RequiredArgsConstruct
- redirectattribute
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |