반응형 It Study/이것이 자바다(개정판)8 매개변수가 있는 람다식 작성 요령 요약 간단하게 요약하면 필요할 때 보기좋아서, 여기에다 요약해봤습니다. 1.(타입 매개변수) -> { 실행문; 실행문; } 2.(var 매개변수) -> { 실행문; 실행문; } 3.(매개변수) -> { 실행문; 실행문; } 4.매개변수 -> { 실행문; 실행문; } 5.(매개변수) -> 실행문; 매개변수가 있는 람다식은, 타입을 구체적으로 명시하거나 var로 명시해도 괜찮습니다만 기본적으로 타입을 생략하고 작성하는 것이 일반적이라 합니다. 또한 그렇게 하는 편이 코드가 훨씬 간결합니다. 그리고 타입을 생략한 매개변수에서 괄호까지 생략한다?? 그렇게 되면 매개변수에 타입과 var를 붙일 수 없다고 하니 주의해야 합니다. 마지막으로 실행문은 1개만 있는 경우, 중괄호를 생략 가능합니다. 2023. 12. 11. 매개변수가 없는 람다식 예제연습 해보기 책에 나와있는 예제에서 최대한 기본에 가깝게 수정해서, 다시 올려봤습니다. 설명을 자세히 해봤는데, 많은 분이 람다식의 흐름을 더 잘 이해할 수 있기를 바라면서 글을 마치겠습니다. HTML 삽입 미리보기할 수 없는 소스 2023. 12. 8. 람다식이란?? 그리고 함수형프로그래밍?? 람다식의 정의를 알기 위해서 간단하게 함수형 프로그래밍에 대해서 먼저 정의해보겠습니다. 함수형 프로그래밍이란? 함수를 데이터 처리부로 보내 데이터를 처리하는 기법이라 책에 정의되어 있습니다. 그렇다면 데이터 처리부란 무엇일까요?? 말 그래도 데이터를 처리하기 위한 부분으로써 데이터를 가지고 있다가 함수를 이용해, 가지고 있는 데이터를 처리하는 역할을 합니다. 즉 데이터 처리부는 함수에서 사용할 재료를 가지고 있다가, 함수를 이용해서 데이터를 처리합니다. 그리고 이것을 함수형 프로그래밍이라 합니다! 이제 다시 본론으로 돌아가서 람다식에 대해 설명하도록 하겠습니다. (참고로 잘 이해가 안 갈 수 있으니 순서대로 전부 보시는 편이 좋습니다.) 람다식이란 간단히 말해서 java 8부터 함수형 프로그래밍을 지원하.. 2023. 12. 6. (10.02 수정)제네릭이란? (수정)공부하면서, 잘못쓰여진 부분은 다시 수정하였습니다. 그동안 제네릭에 대한 말은 많이 들어도 정확히는 모르고, 그렇다고 놔두자니 반드시 알아야되기도 하는데다 자주 활용되는 내용이기에 다시 개념정리를 해봤습니다ㅎㅎ 제네릭이란 책에 나온 개념 대로라면... 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시키는 기능이라 합니다. 이것이 무엇인지 예제로 한번 볼게요 여기에서 는 타입파라미터를 뜻합니다. 그 역할은 타입이 필요한 자리에 T를 사용할 수 있다는 것을 알립니다.(지금의 경우는 변수 선언할 때) 그렇게 되면 무엇이 좋냐??? test 클래스를 이용해 객체(인스턴스)를 생성하고, 그때 인스턴스 필드 content는 타입이 변할 수가 있습니다. 다시말해서 객.. 2023. 6. 28. 싱글톤 패턴 간단개념 싱글톤 패턴이란? 애플리케이션 전체에서 한 개의 객체만 생성해서 사용하는 것을 의미한다고 합니다. 구체적으로는 생성자를 접근 제한하여 외부에서 객체를 생성 못하게 하는 특징을 가지고 있어요 아래 예시를 확인해보겠습니다!! 이를 해석하자면 1,해당 클래스 타입의 private로 외부의 접근(수정)을 막아준 정적 필드를 선언해줍니다. 그와 동시에 객체도 생성될 것입니다. 2.그리고 public 메소드를 활용하여, 그 정적 필드의 값을 반환합니다. 즉! 다시말해서 public 메소드를 호출한다 - 정적필드(참조변수)를 호출한다 - 더 세밀하게 말하자면, 참조변수를 통해 객체를 호출한다. 의 작동원리를 가지게 되는 것입니다. 2023. 4. 3. main() 메소드의 String[] 매개변수 용도 및 활용 이것이 자바다 교재를 공부하면 main() 내부의 String[]이 어떻게 활용되는지 확인할 수 있었습니다. 아래 예제와 사진들로 확인해보겠습니다. 다음의 코드를 그대로 실행하면 String[]인 args가 참조하는 객체가 없고, 따라서 길이도 0이기에 바로 프로그램 종료메시지와 함께 프로그램이 종료가 됩니다... 하지만! 이클립스 상단 메뉴에서 run - run configurations를 선택하고 프로젝트와 클래스 입력란에 해당 프로젝트와 클래스 입력란을 확인한 뒤 argument 탭에 들어가서 초기 String[] args의 값을 입력해주면(해당 코드에서는 두 개의 입력값을 만들어주면) 다른 결과(result 값이 출력되는 결과)가 발생할 것입니다. 2023. 3. 4. System.arraycopy 를 이용한 배열 복사하기 기본 예제 HTML 삽입 미리보기할 수 없는 소스 이것이 자바다 교재에서 보게 된 배열 복사 방법입니다. 기존에는 for문을 활용해서 하나하나 배열을 이어줬는데, 이 메소드를 활용하니 훨씬 편리한 거 같네요! 2023. 3. 4. String type의 변수의 객체 지정 방식의 차이점 이것이 자바다를 공부하면서 기존에 자바 공부하면서 잊었던 것들을 재복습하다가 전혀 생각지도 못했던 부분을 찾게 되었습니다. 예제로 보시죠 HTML 삽입 미리보기할 수 없는 소스 String 변수에 똑같은 객체를 바로 바인딩 해주느냐, 아니면 new 연산자를 활용해서 객체를 생성시키고 바인딩 해주느냐에 따라서 객체를 참조하는 번지수가 틀려진다는 것을 알 수 있었습니다. equlas를 활용하여 참조변수의 값을 확인한 결과 값은 같으나, == 연산자를 활용해 값을 확인한 결과 객체를 참조하는 번지수는 틀려졌다는 것을 확인 가능했습니다. 2023. 3. 4. 이전 1 다음 반응형