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

코딩/JAVA Basics11

[자바 JAVA] 제네릭과 컬렉션 프레임워크 제네릭 타입 제네릭이라는 말은 영어 general에서 나온 말로 '포괄적인'이라는 뜻입니다. 즉, 여태까지 하던 방법처럼 계속 타입을 선언하고 변환하는 과정을 거치는 것이 아니라 이 모든 과정이 필요 없게 한 가지 키워드에 모든 것을 함축해놓은 타입을 의미합니다. 제네릭 타입이란, 타입을 파라미터로 가지는 클래스와 인터페이스를 의미합니다. 제네릭 타입은 표시로 선언합니다. 제네릭은 기존의 타입들을 포괄적인 범위로 변경해주는 역할이기 때문에 완전히 생소한 단어는 없습니다. 기본 타입이라고 한다면 int, double, char, float 등이 있습니다. 그러면 제네릭 타입에서의 파라미터는 Integer, Double, Character, Float 등이 됩니다. 이들은 모두 기본 타입의 풀네임과 .. 2022. 12. 7.
[자바 JAVA] 예외처리 자바의 오류는 예외와 에러로 나뉩니다. 예외는 자바 프로그램에서 실행 중에 발생할 수 있는 경미한 오류들을 말합니다. 이러한 예외들은 적절한 처리 모듈을 추가하여 발생한 문제를 복구 가능합니다. 에러는 메모리나 내부의 심각한 문제로 복구가 불가능한 오류입니다. 즉, 코드를 다시 수정해야 하는 경우이죠. 간혹 가다가 디버깅을 해보게 되면 콘솔 창에 빽빽한 글자로 Exception이라는 글자가 들어가 있는 경우를 보게 됩니다. 이가 바로 예외가 발생한 경우입니다. 예외가 발생하면 바로 프로그램이 중단되므로 발생한 이후의 프로그램을 실행하지 않습니다. 그리고 콘솔 창에 예외 클래스의 이름과 예외가 발생한 프로그램 소스와 줄 번호가 표시됩니다. 그중 여러분들이 한 번쯤은 보셨을 법한 예외들을 소개해보겠습니다. .. 2022. 12. 6.
[자바 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.