부트캠프5 자바 기초 스터디 4주차 - Stream 사용하기 Stream이란? Java8에서부터 등장한 Stream은 컬렉션 혹은 배열의 요소들에 대한 반복 처리를 효율적으로 처리할 수 있게 하는 기능이다. 과거에는 for나 for each 등을 통해 순차적으로 요소에 접근하며 작업하였기 때문에 코드가 다소 복잡해지거나, 성능이 좋지 못했다. 하지만 Stream이 등장하면서 이를 선언형으로 보다 가독성이 좋으면서도 작성하기도 쉬운 형태로 이를 처리할 수 있게 되었다. Stream의 특징 1. 선언적인 코드 작성 방식 여러 함수형 인터페이스들을 이용하면서 ‘무엇을(what)’ 하는지를 선언하고, 그 내부적인 동작에 대해서는 숨기는 방식으로 코드를 적는다. 아래 코드에서 for문은 어떻게 데이터를 처리할 것인지에 대해서 내부 동작을 하나하나 설정해주었다면, strea.. 2023. 11. 16. 자바 기초 스터디 3주차 - Enum 사용하기 매직 넘버, 매직 리터럴 매직 넘버 혹은 매직 리터럴이란 프로그래밍에서 비즈니스적 의미를 가진 숫자나 문자를 그대로 표현하는 것을 말한다. 아래와 같은 코드가 있다고 치면 "3"이나 "3개의 숫자를 모두 맞히셨습니다! 게임 종료"와 같은 문자들이 매직 넘버 혹은 매직 리터럴이라고 할 수 있을 것이다. if (attempt.get("strike") == 3) { System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); pingPong = false; } 이것들을 사용함으로써 어쩔때는 코드를 좀 더 명확하게 보일 수 있지만, 많은 경우 코드를 읽는 사람을 더 헷갈리게 만들고 코드의 유지보수를 힘들게 한다. 이유는 아래와 같다. 1. 코드 안에서 선언된 숫자나 문자열이 어떤 맥락에.. 2023. 11. 9. 자바 기초 스터디 2주차 - Getter와 Setter 객체 지향 프로그래밍과 인간관계 객체 지향적 프로그래밍에서는 객체와 객체 간의 상호작용을 통해 코드를 작성한다. 이 객체를 하나의 인격체라고 생각해보았을 때 결국 객체 지향적 프로그래밍이란 여러 역할을 가진 객체(사람들)이 하나의 서비스를 만들어나가는 과정이라고 생각할 수 있을 것이다. 한 명의 사람에게 어떤 정보를 전달해야 하는 상황이라고 가정하자. 정보를 전달하기 위해 상대방의 두개골을 열어 정보를 주입시키지는 않는다. 타인에게서 정보를 얻어야 할 때 상대방의 뇌에서 정보를 가져오는 행위도 하지 않는다. 대신, 우리는 그 정보를 상대방에게 말하고 그 사람은 그 말을 자신 나름대로 해석하여 머릿속에 정보를 전달한다. 정보가 필요하면 상대방에게 요청하고, 상대방이 나에게 그 정보를 얘기해준다. 전자가 클.. 2023. 11. 2. 자바 기초 스터디 1주차 - Array vs ArrayList 자바에서 값을 연속된 공간에 저장할 때는 Array와 ArrayList를 사용할 수 있다. Array Array(배열)는 동일한 자료형(이때 자료형은 원시 자료형, 객체 모두 가능)의 데이터를 연속된 공간에 저장하기 위한 자료구조. 배열을 구성하는 각각의 값은 요소나 원소(element)라고 불리며, 배열 안에서 특정 요소의 위치는 인덱스(index)라고 지칭한다(파이썬과 달리 인덱스는 0부터 시작하고 양의 정수만 가질 수 있음) 가장 큰 특징은 배열을 선언할 때 해당 배열의 크기를 같이 입력해야하고, 이 크기는 이후 변경할 수 없다. 배열을 선언하고 별도의 값을 넣지 않은 인덱스에는 자료형의 기본값(int면 0)이 들어가게 된다. int[] intArray = new int[3]; // int 자료형을.. 2023. 10. 25. 이전 1 2 다음