멋사 Backend 18일차 🦁

신재원·2023년 5월 11일

🙋‍♂️ Java

컬렉션(Collection) 이란?

  • 자바에서 데이터를 저장, 관리 및 조작하기 위한 자료 구조의 집합을 말합니다.

대표적인 인터페이스로 List,Set,Map 이 있습니다.

😎 List

  • 배열과 비슷한 동작을 수행하지만, 배열과 달리 크기가 동적으로 조정이되고 다양한 메소드를 사용하여 데이터 추가, 삭제 등을 쉽게 수행할수있습니다.

ArrayList 를 사용한 예제

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[10]; // 배열은 크기 지정이 필수적이다.

        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);

        System.out.println(list.size()); // 2

        list.remove(0);
        list.remove(0);
        System.out.println(list.size()); // 0

        // list의 길이만큼 temp 배열에 크기를 할당할수 있습니다.
        // (유동적으로 사용 가능)
        int[] temp = new int[list.size()];

    }
}

✔ 객체를 반환 타입으로 가지는 ArrayList 활용 예제

import java.util.ArrayList;
import java.util.List;

class Student {
		// 멤버변수는 private으로 선언
    private String name;
    private String passWord;
    private int age;

    public String getName() {
        return name;
    }

    public String getPassWord() {
        return passWord;
    }

    public int getAge() {
        return age;
    }

    public Student(String name, String passWord, int age) {
        this.name = name;
        this.passWord = passWord;
        this.age = age;
    }
}

public class Main {
    public static void main(String[] args) {
        Student student = new Student("신재원", "123456", 25);
				
        List<Student> students = new ArrayList<>();

		// List에 객체를 add 해준다.
        students.add(student);
        
		// 학생의 이름은 : 신재원
        System.out.println("학생의 이름은 : " + student.getName());
        
        // 학생의 비밀번호는 : 123456
        System.out.println("학생의 비밀번호는 : " + student.getPassWord());
        
        // 학생의 나이는 : 25
        System.out.println("학생의 나이는 : " + student.getAge());
    }
}

❗ List를 사용해야되는 이유 ?

  • 배열 (Array)와 달리 다양한 메소드를 제공하여 추가, 삭제등을 손쉽게 할수있습니다.
  • 다양한 데이터 유형을 저장할수있습니다.

제네릭 (Generic)

  • 제네릭은 저번에 정리한 블로그 링크로 하겠습니다.

Map, set은 추후에 뒤에서 다룰 예정입니다.

🤿 Getter & Setter

  • 외부에서 멤버변수의 직접접근을 막기위해 사용합니다.
    • 직접접근을 막음으로써 안정성을 높일수 있습니다.

Getter Setter 예시 코드

class Student {
    // 멤버변수는 private으로 선언
    private String name;
    private String passWord;
    private int age;

    public String getName() {
        return name;
    }

    public String getPassWord() {
        return passWord;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Getter 란 ?

  • 현재 멤버변수의 할당되어 있는 값을 가져옵니다.

Setter 란 ?

  • 현재 멤버변수의 값을 할당하는 메소드 입니다.
    • 값을 할당하기에 void 타입 입니다.
  • 위의 코드에서 PassWord 변수 같은경우에는 외부에 노출이 되면 안됨으로, Set 메소드를 지양합니다.

GetterSetter 는 무분별하게 남용하면 안됩니다.

  • 검증 비즈니스 메소드를 만드는게 좋은 개발 입니다.

🥨 번외

1차 프로젝트 설명

  • 공공데이터 포털의 전국 병원 csv 파일을 파싱을 통해 웹 페이지 만들기
  • BufferedReaderFileReader 를 통해 파일을 불러올수 있습니다.

✔ 자바를 해봤다, 할수있다의 차이는 크다.
할수있다 = OOP의 개념으로 설계 및 개발을 할수있다.

0개의 댓글