배열 (Array)

임성혁·2022년 7월 24일

자바 기초

목록 보기
11/32

1. 배열

  • 배열이란?
    - 배열(array)은 같은 타입의 변수들로 이루어진 유한 집합
    • 배열을 구성하는 각각의 값을 배열 요소(element)라고 한다.
    • 배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 한다.
    • 1개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용
  • 배열은 자료구조, 알고리즘, 운영체제, 네트워크, 데이터베이스 중 자료구조에 해당됨
    • 우선순위
      • 자료구조
      • 데이터베이스
      • 운영체제
      • 알고리즘
      • 네트워크

2. 자료구조

  • 자료구조란?
    • 백과사전 정의 : 자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다.
    • 자료의 조직화
  • 종류
    • Array
    • Hash(Hash Tag) : 어떠한 키를 주면 밸류를 가져옴 (K - V)
      • 예) 키 값 : 강아지 -> 밸류 값 : 푸들, 시츄, 말티즈 등(강아지와 관련된 종)
      • 예) 키 값 : 과일 -> 밸류 값 : 사과, 수박 등
      • 예) 키 값 : 술 -> 밸류 값 : 참이슬, 처음처럼 등
    • set : 중복이 안 됨
    • tuple : 파이썬에서 사용, 자바엔 없음
    • stack :
      • 예) 구글에 무신사 검색 -> 무신사에서 상의 클릭 -> 상의 카테고리에서 니트 클릭 -> 무신사 첫 홈페이지 화면으로 가기 위해선 뒤로가기 눌러야 함
    • Queue : 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식
  • 문법 : Int[ ] a; (자료형[ ] 변수이름;)
    • Double[ ] k; (실수)
    • String[ ] b; (문자열)
    • 고양이[ ] cats; (검둥이, 밀크) ↓ OK
    • 포유류[ ] mammalia; () ↑↓ XXX
    • 개[ ] dogs; (흰둥이, 점박이) ↑ OK

3. new? (syntactic sugar)

  • int는 기본 자료형인데 new의 사용은 참조 자료형에만 사용된다고 하는데 왜 int[] a = new int[5]; 이런식으로 사용되는 것일까?
    • 과거에 int array, String array로 사용되었던 것이 syntactic sugar로 array -> []로 대체되었음

4. 객체지향 위반?

  • 자바라는 세상에 음악가라는 직업군 안에 피아니스트가 있는데 그 피아니스트에게 운동을 시키는 것은 음악가로서의 행위는 아닌 것, 즉 위반임. 할 수는 있지만 비효율적임 만약 피아니스트에게 운동하는 행위를 시키고 싶다면 음악가 안에 운동하는 음악가라는 새로운 클래스를 만들고 그 안의 피아니스트를 생성하여 운동하는 행위를 시키면 그것은 위반하는 것도 아님.

자료구조는 자료형을 지지고 볶고 하는 것
자료형 안의 참조자료형을 갖고 사용하는 것을 자료구조
자료형 안의 자료구조가 포함

질문 : 클래스도 자료구조에 들어가나?

??? : 상수풀

profile
열정

0개의 댓글