JAVA(6)
-
[JAVA] Lambda & Stream(람다와 스트림) 기본 개념 및 사용법
Java를 사용하여 개발하다 보면, Lambda & Stream을 많이 들어봤을 것이다.보통의 Java foreach문을 Lambda와 Stream을 활용하여 코드를 개선할 때도 많이 쓰일 것이다.오늘은 Java의 Lambda와 Stream의 대해서 알아보자. 먼저, Lambda에 알아보기 전 익명클래스에 대해서 알아보자.익명 클래스(Anonymous Class)란?: 이름이 없는 클래스를 익명 클래스라고 한다.- 별도의 클래스 파일을 만들지 않고 코드 내에서 일회성으로 정의해 사용하기 때문에 이름이 없다고 부르는 것이 특징이다.- 주로 인터페이스나 클래스(일반, 추상) 클래스의 메서드를 구현할 때 사용된다.public interface Mouse { int scroll(int a, int b);}pub..
2025.07.23 -
[JAVA] 제네릭(Generic) 개념
오늘은 자바의 제네릭(Generic) 개념에 대해서 알아보자.먼저, 제네릭(Generic)이란?: 클래스 내부에서 사용할 데이터 타입을 미리 지정하지 않고 사용 시점에 유연하게 결정할 수 있는 문법이다.즉, 각 객체마다 다른 타입의 자료가 저장될 수 있다는 것을 의미한다. [기본 문법]제네릭 (타입매개변수)List list = new ArrayList();- (꺽쇠 괄호)가 제네릭이며, 안에는 타입명을 기재한다.- 실제 데이터 타입으로 대체되어 들어온다고 생각하면 쉽다.- 위 예시에서 String으로 명시되어 있기에 문자열 데이터만 list 안에 들어올 수 있게 된다.타입 파라미터 생략?아래 사진과 함께 본다면 List에는 타입이 String이라고 명시되어 있지만, ArrayList 부분에는 타입이 명..
2025.07.14 -
[JAVA] 예외(Exception)와 예외처리(try-catch, throw)
오늘은 JAVA의 예외(Exception)와 예외처리(try-catch)에 대해서 알아보자. 먼저, 예외(Exception)란?: 예외는 프로그램 실행 중 예상하지 못한 상황이 발생하는 것을 의미한다.즉, 사용자의 잘못된 조작이나 개발자의 코딩 실수로 인해 발생하는 프로그램 오류이다.예) 산술 예외(0으로 나누기) 왜 예외처리가 필요할까?1. 예외가 없다면프로그램이 중간에 강제 종료앱이 꺼지는 등 사용자 경험 나빠짐디버깅/유지보수 어려움즉, 에러 발생 시 적절한 대처를 통해 시스템을 안정적으로 유지하고, 사용자에게 친절한 메시지를 제공하기 위해 예외 처리는 필수적으로 필요하다.그렇다면, 에러(Error) vs 예외(Exception)의 차이는 무엇일까?[에러(Error)]: 프로그램 코드에 의해 수습될 ..
2025.07.10 -
[Java] 어노테이션(Annotation) 개념 및 사용법
어노테이션이란? (Annotation): 어노테이션(Annotation)은 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석과 같은 의미를 가진다.-> 자바에서 Annotation(@)은 코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술 [어노테이션 역할]- 컴파일러에게 사용하는 정보 제공- 소프트웨어 개발 툴이 자동으로 코드를 생성할 때 사용하는 정보 제공- 실행 시 특정 기능을 실행하도록 정보 제공 그렇다면, 어노테이션(Annotation)을 사용하는 이유(효과)는 무엇일까? 1. 생산성이 증가한다.-> 필요한 메서드를 자동으로 생성하여 입력하는 코드량이 감소한다. 2. 유지보수가 용이하다.-> 특정 기능의 동작 방식을 변경할 때, 해당 기능과 관련된 어노테이션만 수정함으로..
2024.04.29 -
[JAVA] 자바 인스턴스와 메모리 영역(stack, heap, static)
Java 인스턴스와 메모리 영역에 대해서 알아보자. 인스턴스(Instance)란 - 클래스는 객체의 속성을 정의하고, 기능을 구현하여 만들어 놓은 코드 상태 - 클래스를 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가진다 - new 키워드를 사용하여 인스턴스 생성 즉, 인스턴스는 객체가 메모리에 할당되어 실제 사용될 때 '인스턴스' 라고 부른다. 먼저, 자바 메모리 영역에 들어가기 앞서 간단하게 JVM에 대해 알아보자. JVM이란 JVM이란 Java Virtual Machine의 약자로, 자바 가상 머신이라 불린다. JVM은 OS에 종속받지 않고 cpu가 java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다. 따라서 프로그램이 실행되면 JVM은 OS로부터 메모리를 할당받고 그 메모리를 ..
2023.11.30 -
[JAVA] Java 클래스(Class) 기본 개념 정리
우선, java 기본 개념에 들어가기 앞서 객체지향의 특징 4가지를 간단하게 알아보겠다. 객체 지향 프로그래밍 - 객체 지향 프로그래밍이란? : 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체지향 4가지 특징 - 추상화 : 실제 세상을 객체화 하는 것이 아닌 필요한 정보만을 중심으로 간소화 하는 것을 의미한다. - 프로그래밍 언어에선 객체들의 공통적인 속성과 기능을 중심으로 추상화한다. - 상속 : 상위 클래스의 기능을 하위 클래스가 사용할수 있는 것 - 다형성 : 어떤 객체의 속성이나 기능이 상황에 따라 여러가지 형태를 가질수있는 성질 - 캡슐화 : 추상화를 통해 객체를 정의했다면, 객체에 필요한 데이터나..
2023.03.26