Language/Java & Kotlin

[자바/Java] 인터페이스(Interface) 란?

저번 시간에는 자바에서 다형성을 띄고 있는 것들 중 '오버 로딩'에 대해서 정리해보았다. 다시 한번 말하지만 자바는 OOP 즉, 객체 지향 언어이고 OOP의 큰 장점이자 OOP에서 가장 중요한 개념 중 하나로는 다형성(Polymorphism)이 있다. 이번 시간에는 자바의 다형성을 극대화해서 개발코드를 간결하고 효율적으로 만들고 유지보수를 쉽게 하게 해주는 인터페이스에 대해 알아보려고 한다. 인터페이스란? 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 간단하게 얘기하면 구현된 것은 없지만 밑그림이 그려져 있는 '설계도'라고 생각하면 된다. 예시를 들어보자. 빵가게 사장이 다음날 까지 3명의 직원한테 내일 판매할 식빵을 만들라고 했다. 1번 직원은 쌀가루를 ..

2021.08.09 게시됨

Language/Java & Kotlin

[자바/Java] 오버로딩(Overloading) 이란?

자바는 OOP 즉, 객체 지향 언어이다. OOP의 큰 장점이자 OOP에서 가장 중요한 개념 중 하나로는 다형성(Polymorphism)이 있다. 다형성은 각 요소들이 여러 가지 자료형으로 표현될 수 있다는 것을 말한다. 이번에는 자바에서 다형성을 띄고 있는 것들 중 '오버 로딩'에 대해서 정리해보려고 한다. 오버 로딩이란? 오버 로딩은 한 클래스 내에 같은 이름의 메서드를 여러 개 정의해서 사용하는 것을 의미한다. 메서드 오버 로딩도 같은 말이다. 오버로드는 말 그대로 한 곳에 여러 개를 과적하다, 많이 싣다 라는 의미를 가지고 있는데 하나의 메서드로 여러 기능을 구현하기 때문에 붙여진 이름이다. 오버 로딩의 조건은 아래와 같다. 메서드 이름이 같아야 하고 매개변수의 개수 또는 타입이 달라야 한다. 오버..

2021.08.03 게시됨

Language/Java & Kotlin

[자바/Java] 생성자 란?

자바 프로그래밍을 할 때, 생성자에 대해 모르고 그냥 사용하는 경우가 많다. 하지만 깊이 있는 프로그래밍을 위해서는 생성자의 개념이 중요하다고 생각해서 정리하게 되었다. 먼저, 생성자란? 생성자는 간단하게 얘기하면 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메소드'이다. 따라서 인스턴스 변수의 초기화 작업에 사용되고, 인스턴스 생성 시에 실행되어야 할 작업을 위해서 사용된다. 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. void 또한 사용하지 않는다. 생성자는 몇 가지 특징을 제외하면 메소드와 다르지 않다. 생성자는 메소드 처럼 클래스 내에 선언되고, 오버 로딩이 가능하므로 하나의 클래스에 여러 개의 생성자가 존재할 수 있다. 기본 생성자(Default construct..

2021.08.02 게시됨

Language/Java & Kotlin

[자바/Java] 람다식이란?

github.com/whiteship/live-study/issues/15 15주차 과제: 람다식 · Issue #15 · whiteship/live-study 목표 자바의 람다식에 대해 학습하세요. 학습할 것 (필수) 람다식 사용법 함수형 인터페이스 Variable Capture 메소드, 생성자 레퍼런스 마감일시 2021년 3월 6일 토요일 오후 1시까지. github.com 목표 자바의 람다식에 대해 학습하세요. 학습할 것 (필수) 람다식 사용법 함수형 인터페이스 Variable Capture 메소드, 생성자 레퍼런스 마감일시 2021년 3월 6일 토요일 오후 1시까지. # 람다식 사용법 람다식의 도입으로 인해 자바는 객체지향언어인 동시에 함수형 언어가 되었다. 객체지향언어가 함수형 언어의 기능까지 ..

2021.03.06 게시됨