🦁 걸어봐 위엄 라잌어 라이옹/✍🏻 그룹스터디

[대학교멋사🦁/스터디] #1 Collection과 Class

우주수첩 2023. 4. 9. 03:34
728x90

 

Q1. JAVA의 Collection이란?

 

Collection 이란?

  • JAVA에서 제공하는 데이터 구조를 다루는 데 사용되는 프레임 워크
  • 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스와 인터페이스의 집합
  • 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것

 

 

Collection을 쓰는 이유는?

  • 데이터를 효율적으로 관리하기 위함
  • 일반적인 자료 구조를 구현한 많은 클래스 제공 : 개발자가 직접 구현할 필요 X

 

Collection 종류

  1. List
  • 순서가 있는 데이터의 모음.
  • 중복된 요소를 허용합니다.
  • ex) Vector, ArrayList, LinkedList, Stack
  1. Set
  • 순서가 없는 데이터의 모음입니다.
  • 중복된 요소를 허용하지 않습니다. == 집합
  • ex) HashSet, TreeSet 등
  1. Map
  • 키와 값으로 이루어진 데이터의 모음
  • 중복된 키 비 허용
  • ex) HashMap, TreeMap 등
  1. Queue
  • 선입선출(FIFO) 또는 후입선출(LIFO) 방식으로 요소를 관리하는 인터페이스
    • FIFO : First In First Out
    • LIFO : Last In First Out
  • ex) PriorityQueue 등

 

더보기

+) 프레임워크 vs 라이브러리

  • 프레임워크
    • 소프트웨어 개발에서 자주 사용되는 기본적인 기능을 제공
      → 개발자가 더 나은 애플리케이션을 빠르게 개발할 수 있도록 지원
    • 프레임 워크를 사용하면 사용자가 관리해야 한느 부분을 프레임 워크에 넘김으로써 신경써야 할 것을 줄이는 제어의 역전(IoC, Inversion Of Control)이 적용된다
    • 전체적인 흐름을 자체적으로 제어

    • 사용 이유
      • 프레임워크를 사용하면 일관된 구조를 유지 가능
      • 다른 개발자들과 협업 시 코드의 이해와 유지보수 수월
      • 이미 검증된 프레임워크 기능들로 보안 문제나 성능 문제 감소

  • 라이브러리
    • 사용자가 흐름에 대한 제어를 하며 필요한 상황에 가져가 쓸 수 있음

  • 차이점
    • 실행 흐름에 대한 제어 권한이 어디 있는지에 따라 달라진다.
    • 프레임워크 위에 개발자가 작성한 어플리케이션 코드가 올라간다.
    • 이 어플리케이션 코드에서는 라이브러리를 호출할 수 있다.

 

 

 


 

Q2. JAVA의 Class와 Method란?

 

 

 

Class

  • 객체를 만들기 위한 설계도
  • 인스턴스화 : 클래스로 객체를 만드는 것

 

객체

  • 특정 상태가 선언된 class
  • ex) 이름은 뽀삐, 종은 말티즈, 견생 6개월 된 강아지 == 상태(field)가 선언된 갱얼쥐 == 상태가 선언 된 클래스.
  • ex) Scanner sc = new Scanner(System.in)
    • 우리가 흔히 쓰고있던 Scanner 또한 JAVA의 클래스이다.

 

Method

  • 객체의 동작, 행위
  • ex) 뽀삐.짖어() / 뽀삐.앉아()
  • sc.nextInt() | sc.nextLine()

 

 

 

728x90