연습용 삭제예정

최규호·2025년 9월 30일

package example.day11;

import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;

public class Example3 {
public static void main(String[] args) { // 메소드 레퍼런스 -> 일반 for문 으로 바꿔보기 ( 이해력 상승)

    // [*] 메소드 레퍼런스 : *이미 정의된* 메소드를 참조해서 사용하는 표현식 + 람다
    // 클래스명.정적메소드명() vs 클래스명 :: 정적메소드명
    // 객체명.메소드명( ) vs 객체명 :: 메소드명

    // [1] 예1 : static 정적메소드
    System.out.println( Integer.parseInt("123") ); // 문자를 숫자로 바꿔주는 : Integer.parseInt(문자)
    Function< String , Integer > func = Integer::parseInt;
    System.out.println( func.apply("123") );

    // [2] 예2 : 일반 메소드
    List<String> names = List.of("유재석" , "강호동" , "신동엽" );
    for( int i = 0 ; i <names.size() ; i ++ ){
        System.out.println(names.get(i));
    }
    names.stream().forEach(name -> System.out.println(name));

    names.stream().forEach( System.out :: println );

    // [3] 예3 , 생성자 , 클래스명::new
    names.stream().forEach( name -> new Member( name ) );
    names.stream().forEach( Member :: new );

    List<Member> newMember = names.stream()
            .map( Member :: new )
            .collect(Collectors.toList());
    System.out.println("newMember = " +newMember);

} // main end

} // class end

class Member{ String name; Member( String name ){ this.name = name; } } // class end

// 정적메소드 : 객체(인스턴스)없이 사용 가능한 메소드 , 즉] static 있는
// (멤버)메소드 : 객체 통해 사용 가능한 메소드, 즉] static 없는

profile
코딩입문자 2025.05.26~ing

0개의 댓글