본문 바로가기
반응형

프로그래밍/자바5

[Java] 람다(lambda) Java의 람다 식: Java의 람다 식은 간결한 코드 블록을 사용하여 단일 메서드 인터페이스(기능 인터페이스)를 표현할 수 있는 간결하고 익명의 함수입니다. Java에 함수형 프로그래밍 기능을 도입하여 보다 효율적인 방식으로 동작을 전달할 수 있습니다. 람다 표현식에는 단일 추상 메서드가 있는 인터페이스인 기능적 인터페이스가 필요합니다. 특히 이전에 익명 클래스가 사용된 시나리오에서 자세한 내용을 줄여 코드 가독성을 향상시킵니다. 이러한 표현식은 메소드를 객체로 처리할 수 있도록 하여 함수형 프로그래밍을 촉진합니다. Predicate, Consumer, Supplier 등과 같은 java.util.function 패키지 인터페이스와 같은 기능적 인터페이스에서 널리 사용됩니다. ex : (int x, i.. 2024. 1. 9.
[Java] iterator 란? Java의 iterator(반복자?)는 컬렉션의 기본 구현을 노출하지 않고 해당 요소에 순차적으로 액세스하여 컬렉션을 탐색하거나 반복할 수 있게 해주는 개체입니다. 특정 컬렉션 유형(예: ArrayList, HashSet, LinkedList 등)에 관계없이 요소에 액세스하는 통일된 방법을 제공합니다. Iterable 인터페이스: 'Iterable' 인터페이스는 Java에서 반복자를 사용하기 위한 기반을 형성합니다. 여기에는 컬렉션의 요소에 대한 반복자를 반환하는 'iterator()'라는 단일 메서드가 포함되어 있습니다. Iterator 인터페이스: Iterator 인터페이스는 반복자 자체를 나타내며 컬렉션을 순회하는 메서드를 제공합니다. boolean hasNext(): 컬렉션에 다른 요소가 있는지 .. 2024. 1. 8.
[Java] 메소드 오버로딩, 오버라이딩 메소드 오버로딩(Method Overloading): 메소드 오버로딩은 같은 이름의 메소드를 여러 개 정의하는 것을 의미합니다. 매개변수의 유형이나 개수가 다르므로 컴파일러는 이를 서로 다른 메소드로 인식합니다. 이를 통해 프로그래머는 같은 이름의 메소드를 사용하면서도 다양한 유형의 작업을 수행할 수 있습니다. 예시: void func() { ... } void func(int a) { ... } void func(double a) { ... } 메소드 오버라이딩(Method Overriding): 메소드 오버라이딩은 상속 관계에 있는 클래스에서 같은 이름과 매개변수를 가진 메소드를 재정의하는 것을 의미합니다. 이를 통해 하위 클래스는 상위 클래스의 메소드를 본인의 필요에 맞게 변경하여 사용할 수 있습니.. 2024. 1. 4.
[Java] 상속, protected, static, super 상속 (Inheritance) 상속은 객체지향 프로그래밍의 핵심 개념 중 하나입니다. 부모 클래스(슈퍼 클래스)의 특성을 자식 클래스(서브 클래스)가 물려받는 것을 의미합니다. 자식 클래스는 부모 클래스의 속성과 메서드를 사용하거나 확장하여 새로운 기능을 추가할 수 있습니다. // 부모 클래스 class Animal { void sound() { System.out.println("Some sound"); } } // 자식 클래스 class Dog extends Animal { void bark() { System.out.println("Woof!"); } } Dog 클래스는 Animal 클래스를 확장하여 bark() 메서드를 추가하고 있습니다. Dog 클래스는 Animal 클래스를 상속 받았기 때문에.. 2024. 1. 4.
반응형