
▶자바의 함수형 인터페이스(Functional Interface) - 추상 메소드가 오직 한 개인 인터페이스 🔎 함수형 인터페이스 ? 함수형 인터페이스는 추상 메소드가 오직 하나인 인터페이스를 의미합니다. 추상 메소드가 하나라는 뜻은 default 메소드 또는 static 메소드는 여러 개 존재해도 상관 없다는 뜻입니다. 📌 함수형 인터페이스 선언 함수형 인터페이스는 @FunctionalInterface 어노테이션을 사용합니다. 어노테이션을 붙여줌으로써 다른 개발자가 보았을 때도 "아 이건 함수형 인터페이스로 선언된 거 구나" 하고 표시와 가독성을 나타냅니다. @FunctionInterface public interface FuncInter { public abstract void printName(); }

▶자바의 다중상속 그리고 모호성(ambiguity)에 대하여 이번 글에서는 다중상속 그리고 이것과 관련된 모호성에 대해 알아보려고 합니다. 🔎 다중 상속 다중 상속이란 여러 부모 클래스를 상속받는 것을 의미합니다. 하지만 자바에서는 모호성(amibiguity) 때문에 다중 상속을 지원하지 않는데요. ❓ 모호성(ambiguity) 모호성이란 하나의 자식이 여러 부모를 상속받을 때 부모 필드에 동일한 이름의 필드가 있다며, 어떤 부모의 필드인지 알 수가 없습니다. 이를 모호성이라고 합니다. 두 부모에 동일한 이름과 동일한 매개변수를 가진 메소드가 있을 때 자식 클래스는 어떤 클래스의 메소드인지를 알 수가 없습니다. 이게 바로 모호성을 의미하는데요. 그런데 JDK8 버전 이후부터는 인터페이스에 defualt ..

▶마커 인터페이스(Marker Interface)에 대해 알아보자 🔎 마커 인터페이스(Marker Interface) ? 마커 인터페이스란 인터페이스 내부에 상수도, 메소드도 없는 인터페이스를 말합니다. 아무 내용도 없어서 쓸모가 없어보이지만,, 마커 인터페이스는 클래스들을 그룹화하기 위한 목적으로 사용하는데요. 📌 예시 코드 package markerInterfaceTest; public class Animal {;} public class Bear extends Animal {;} public class Cow extedns Animal {;} public class Dog extends Animal {;} public class Tiger extends Animal {;} 위와 같이 Animal이라..

▶자바 어댑터(Adapter) 패턴 🔎 Adapter 패턴이 무엇인지, 왜 사용하는지 우리가 인터페이스(interface)를 공부할 때 이 인터페이스를 자식 클래스에 implements 하게 되면 인터페이스에 선언한 추상 클래스 모두를 무조건 구현해야만 했습니다. 하지만, 필요한 메소드만 재정의 하고 싶을 수 있습니다.... 인터페이스를 직접 지정하지 않고 다른 클래스를 거쳐 일부는 강제성을 없애고 다시 그 클래스를 상속받는다면 골라서 재정의할 수 있게 될 것입니다. 이때 중간에서 강제성을 없애주는 클래스를 추상 클래스로 선언하기도 하며, 추상 클래스 이름 뒤에는 Adapter를 붙여서 목적을 알려줍니다. → 중간에서 강제성을 없애주는 추상 클래스 📌 예제 코드 상황은 이러합니다.. Animal이라는 i..

▶내부 클래스(Inner Class) & 익명 클래스(Anonymous Class) 🔎 내부 클래스(Inner Class) ? 내부 클래스(inner class)란 하나의 클래스 내부에 선언된 또 다른 클래스를 의미합니다. 이러한 내부 클래스는 외부 클래스(outer class)에 대해 두 개의 클래스가 서로 긴밀한 관계를 맺고 있을 때 선언할 수 있는데요! 📌 내부 클래스 문법 class Outer { // 외부 클래스 ... class Inner { // 내부 클래스 ... } ... } 📌 내부 클래스의 장점 내부 클래스를 사용하면 다음과 같은 장점을 가질 수 있습니다. 1. 내부 클래스에서 외부 클래스의 멤버에 손쉽게 접근할 수 있게 됩니다. 2. 서로 관련 있는 클래스를 논리적으로 묶어서 표현함..

▶인터페이스(interface)에 대해 알아보자 🔎 인터페이스(interface)란? 자식 클래스가 여러 부모를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것입니다. 예를 들어 동물이라는 부모 클래스가 있고 강아지, 호랑이, 곰, 소 라는 자식 클래스가 있을 때 이 자식 클래스를 분류하고 싶어서 육식 동물, 초식 동물, 잡식 동물이라는 클래스를 만들어 또 상속을 해주면 다양한 동작을 수행할 수 있을 것입니다. 하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어서 자바에서는 클래스를 통한 다중 상속을 지원하지 않습니다. 하지만 다중 상속의 이점을 버릴 수는 없기에 자바스크립트에서는 인터페이스라는 것을 통해 다중 상속을 지원하..
- Total
- Today
- Yesterday
- CSS
- testing
- HTML
- 디프만
- react-query
- 인프런
- 프론트엔드 기초
- jest
- styled-components
- rtl
- 프로젝트 회고
- 타입스크립트
- 자바스크립트 기초
- 데이터분석
- 프론트엔드
- 스타일 컴포넌트 styled-components
- 자바스크립트
- 리액트
- 리액트 훅
- 프론트엔드 공부
- 머신러닝
- 자바
- 딥러닝
- 파이썬
- Python
- react
- next.js
- TypeScript
- frontend
- JSP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |