본문 바로가기
728x90

분류 전체보기198

[Java] 불변 객체와 Wrapper Class Java에는 불변(immutable) 객체가 있다. 불변 객체는 한 번 생성되면 내부 상태가 변경되지 않는다. 대표적으로는 String이 있는데, 문자열을 수정하면 새로운 String 객체가 생성되지 이전 문자열이 변경되지 않는다. 그 외에도 Wrapper 클래스, java.time 패키지의 LocalDate, LocalDateTime 등과 java.math 패키지에서 BigInteger과 BigDecimal도 불변 객체이다. Wrapper Class는 자바 데이터타입의 역할을 하는 클래스이다. int, short, long, float, double 등의 데이터 타입이 Integer, Short, Long, Float, Double, Arrays 등 클래스로 이루어져 있다. int a와 Integer .. 2023. 3. 22.
[Java] Stream API: stream의 다양한 연산과 예시 코드 자바에서는 많은 양의 데이터를 저장하기 위해 배열이나 컬렉션(collect Framework)을 사용한다. 이렇게 저장된 데이터에 접근하기 위해서는 반복문(if while 등등..)이나 반복자를 사용하여 매번 새로운 코드를 작성해야 한다. 하지만 이런 코드는 길이가 길고 가독성이 떨어지며, 코드의 재사용이 불가능함(매번 배열의 값을 넣고 읽어오기 위해서는 새로운 코드를 만들어야 함). 즉, 데이터베이스의 쿼리와 같이 정형화된 처리 패턴을 가지지 못했기에 매번 데이터마다 다른 방법으로 접근해서 작업을 했다. 이러한 문제점을 극복하기 위해 Java8부터 함수형 프로그램의 특성을 가진 stream이라는 API(객체)를 도입하게 되었다. stream API는 정형적인 데이터 읽기/쓰기에 특화된 메소드를 제공함으.. 2023. 3. 21.
[Java] 람다(Lambda) 표기법 람다 표기법이란! 메소드를 선언하거나 인자를 받아오는 등의 프로그래밍을 할 때, 반복되는 요소를 최대한 줄여서 프로그램 소스 길이를 줄이는 목적으로 만들어진 표기법이다. 함수형 프로그래밍이 조금씩 사용됨에 따라 사용 빈도가 증가하였다. 람다표기법을 사용하면 간단하게 ->로 코드의 길이를 확 줄일 수 있다. 1. 람다식을 이용한 익명함수 1-1. 인자가 2개인 경우 @FunctionalInterface interface MyLambdaFunction { int sum(int a, int b); } public class LambdaExample { public static void main(String[] args) { //2개의 인자를 받아서 계산 후 반환하는 함수를 람다표기법을 생성 MyLambdaFu.. 2023. 3. 21.
[Java] 회원 정보를 받는 기본 코드 회원정보를 받는 기본 코드를 짜보자 1. getter, setter method를 이용하기 전체코드 class Member { private String userid; private String username; private int age; //getter method public String getUserid() { //getter1 return this.userid; } public String getUsername() { //getter2 return this.username; } public int getAge() { //getter3 return this.age; } //setter method public void setUserid(String userid) { //setter1 this.u.. 2023. 3. 20.
[Java] 배열: 예시 코드로 배열 생성, 배열 원소 객체 생성, 배열 출력하는 법 배우기 아래는 2개짜리 Book 객체 배열을 만들고, 사용자로부터 책의 제목과 저자를 입력받은 배열을 출력하는 코드이다. 전체코드 import java.util.Scanner; class Book { String title, author; public Book(String title, String author) { //생성자 this.title = title; this.author = author; } } public class Chapter4_07_Book { public static void main(String[] args) { Book[] book = new Book[2]; //원소의 개수가 2인 배열 선언 Scanner scanner = new Scanner(System.in); for(int i=0;.. 2023. 3. 19.
[Java] 생성자(Constructor)의 특징 생성자(constructer)는 생성자는 객체가 생성될 때 객체의 초기화를 위해 실행되는 메소드로, 객체가 생성될 때, 필드 초기화, 필요한 메모리 확보, 파일 열기, 네트워크 연결 등 객체가 활동하기 전 필요한 초기준비를 하는 데 이용된다. (이 말이 무슨 뜻인지 이해가 안가면 밑의 예시 코드까지 읽어보기 !) 다음은 생성자의 기본 형태이다. //기본 생성자 public ClassName () {} 생성자를 사용할 때 , 생성자의 이름은 클래스 이름과 동일하게 작성해야 한다. 또한, 여러 개를 작성할 수 있는데, 이를 오버로딩(Overloading)이라고 한다. 매개 변수의 개수와 타입만 다르다면, 클래스 내에 생성자를 여러 개 작성할 수 있다. 오버로딩 예시 코드 public class Circle .. 2023. 3. 19.
[Java] this(): 코드로 this() 메소드 이해하기 책의 제목과 작가에 대한 정보를 나타내는 코드를 통해 this() 함수에 대해 이해해보자 전체코드 package Chapter04; public class Book { String title; String author; //show method void show() { System.out.println(title + " - " + author); } //생성자1 public Book() { this("", ""); } //생성자2 public Book(String title) { this(title, "작자미상"); } //생성자3 public Book(String title, String author) { this.title = title; this.author = author; } public sta.. 2023. 3. 19.
[Java] Chapter03: 숫자 맞추기 게임 (Up&Down) 컴퓨터가 몰래 고른 숫자(1~99)를 맞추는 게임을 만들어보자. 입력된 숫자와 고른 숫자를 비교해 큰지 작은지는 알려주고, 게임이 끝나면 게임을 반복할 것인지 물어본다. 1. 우선 컴퓨터가 숫자를 골라야한다. 1-1. 랜덤 숫자를 고르게 하는 방법은 두 가지가 있다. - Math.random() 함수: 0~1까지의 무작위 실수값이 하나 리턴된다. 정수형으로 활용하고 싶을 때는 정수를 곱해주면 된다. - Random 클래스: import java.util.Random 을 한 후, new로 객체를 생성해줘야 한다. int number = (int) (Math.random()*99) + 1; 2. 이제 내가 숫자를 맞춰야하므로 number과 내 숫자가 같을 때까지 내 숫자를 입력받는다. 2-1. 같을'때까지'.. 2023. 3. 19.
728x90

"); wcs_do();