본문 바로가기
  • 비둘기다
  • 비둘기다
  • 비둘기다

분류 전체보기53

[자바 JAVA] 자바의 람다식 자바에서의 람다식이란 일반적인 람다식(lambda calculus)에서 유래한 것이죠. 람다식이란, 수학의 함수를 단순하게 표현하는 하나의 방법입니다. 예를 들어 f(x, y) = x + y라는 식이 있을 때 이를 수학의 람다식으로 바꾸면 (x, y)->x + y가 됩니다. 여기서 f가 사라졌기 때문에 이는 이름 없는 함수가 되는 것이죠. 여기에 숫자를 대입한다면 ((x,y) -> x + y) (2, 3) = 2 + 3 = 5와 같이 됩니다. 위가 자바에서의 람다식의 구조입니다. 애로우 토큰은 매개변수 리스트와 함수를 분리하는 역할을 합니다. 함수의 바디는 중괄호 {}로 둘러쌉니다. 한 문장밖에 안 되는 경우는 생략해도 무관하지만 되도록이면 그냥 넣으시는 걸 추천합니다. 함수 바디 부분은 말그대로 '함수.. 2022. 12. 6.
[자바 JAVA] 중첩 클래스 중첩 클래스 중첩의 대상은 클래스가 들어갈 수도 있고, 인터페이스가 들어갈 수도 있습니다. 클래스 안에 들어간 클래스는 중첩 클래스, 클래스 안에 들어간 인터페이스는 중첩 인터페이스가 되는 것입니다. class 외부 { class 내부 {} } class 외부 { interface 내부 {} } 밑의 중첩 인터페이스는 그래픽 프로그래밍에서 자주 이용한다고 하네요. 중첩 클래스 같은 경우에는 외부 클래스에 private멤버가 있다 하더라도 자유롭게 접근할 수 있다는 특징이 있습니다. 중첩 클래스는 멤버 클래스와 지역 클래스로 나뉘며 멤버 클래스는 정적 멤버 클래스와 인스턴스 멤버 클래스로 나뉩니다. class 외부 클래스 { class 멤버 클래스 {} interface 중첩 인터페이스{} } class .. 2022. 12. 6.
[자바 JAVA] 추상클래스와 인터페이스 차례 1. 추상 클래스 2. 인터페이스의 개념 3. 인터페이스의 구조 4. 인터페이스의 특징들 추상 클래스 '추상적이다'라는 것은 구체성이 없이 사실이나 현실에서 멀어져 막연하고 일반적인 것들을 뜻합니다. 이를 자바 언어의 관점에서 해석을 해보자면 그냥 이름만 있는 빈 껍데기만 존재한다는 것입니다. 용어들을 대입해 더욱 자세하게 가보자면 무언가의 역할을 할 클래스를 선언만 하고 그 내부는 실체 없이 비어있다는 것이죠. 예를 들어 창업을 하려는 친구가 찾아와서 "야, 나 회사 차릴 거야."라고 말합니다. 그랬더니 내가 "무슨 회사?"라고 물어봅니다. 그러니 친구가 하는 말이 "그건 모르겠고 어쨌든 할 거야."라고 합니다. 추상 클래스란 이러한 상황입니다. 창업하려는 회사가 IT에 대한 건지, 무역에 관한 .. 2022. 12. 6.
[자바 JAVA] 다형성 다형성이란 여러 부분에서 정의가 내려집니다. 생물학적인 정의를 따르면 같은 종이면서도 다른 형질을 띠는 현상이라고 합니다. 예를 들면, 암수에 따라 크기가 다른 생물이라던지, 갈기의 유무가 있는 사자라던지 등이 되겠네요. 자바에서 다형성을 사용하는 이유는 하나의 기능으로 여러 가지 명령을 수행하기 위함입니다. 다형성은 자바를 하시면서 겪어보셨을 데이터 타입 변환과 유사한 개념입니다. 저희는 데이터 타입 변환을 할 때 자동 형 변환과 강제 형 변환을 알아봤었는데 이 다형성도 이와 마찬가지로 객체의 타입을 변환하는 행위입니다. 객체의 타입을 변환한다라...먼저 클래스란 객체 지향 프로그래밍에서 데이터와 조작 가능한 메서드를 담고 있는 객체의 추형 즉, 형태입니다. 예를 들어 피보나치수열을 계산해주는 클래스 .. 2022. 12. 5.