본문 바로가기

Java39

[Java] 객체지향언어? 추상화(Abstraction)와 캡슐화(Encapsulation), 그리고 구조체 TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 객체지향 언어 "객체"를 "지향"하는 언어로, "객체 중심"으로 돌아가는 언어이다. 객체란? 사전적 의미로는 현실세계에 독립적으로 존재하는 (목적이 있고, 의미가 있는) 모든 것들을 의미한다. 유형, 무형, 사물, 개념처럼 눈에 보이든, 보이지 않든 존재가치가 있는 것들. 자바에선 heap이라는 메모리 영역에 저장된 모든 것들 객체지향 프로그래밍? 현실세계의 어떤 독립적인 존재들간의 상호작용을 프로그래밍을 통해서 코드로 구현하는 과정 구현하고자 하는 프로그램상의 필요한 객체를 생성하기 위해서는 목적에 맞는 객체만을 만들어야 한다 (ex. 의류 쇼핑몰이라면 가발은 목적에 맞지 않는다).. 2021. 1. 6.
[Java] 이차원 배열/다차원 배열(Dimensional Array) 그리고 가변배열 TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 이차원배열/다차원배열 (Dimensional Array) 1차원 배열들의 묶음, 일차원 배열 여러개를 하나로 묶은 것을 이차원 또는 다차원배열이라고 부른다. (2차원배열의 묶음은 3차원배열이 된다.) 이차원 배열 선언 1) 자료형 배열명[ ] [ ] ; 2) 자료형[ ] 배열명[ ] ; 3) 자료형[ ] [ ] 배열명 ; int arr[ ][ ] ; int[ ] arr[ ] ; int[ ][ ] arr ; 이차원 배열 할당(크기지정) 배열명 = new 자료형 [행크기] [열크기] ; arr = new int [ 2 ] [ 3 ] ; 이차원 배열 선언과 동시에 할당 자료형[ ][ ] .. 2021. 1. 4.
[Java] 배열의 복사? Shallow Copy(얕은 복사)와 Deep Copy(깊은 복사) TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 배열의 복사 배열은 크게 얕은 복사와 깊은 복사, 두 가지 방법으로 복사를 할 수 있다. 얕은 복사: 배열의 주소를 복사 깊은 복사: 배열 공간의 값들을 다른 배열 공간에 하나씩 복사 얕은 복사 int [ ] copy = origin ; 1. int[ ] origin = { 1, 2, 3, 4 } ; 원본 배열을 먼저 할당 후, 2. int[ ] copy = origin ; origin에 있는 것을 그대로 copy에 복사시킨다. copy 각각의 인덱스를 출력해보면 origin의 값이 그대로 담긴다. 복사된 copy배열을 이용해서 n번 인덱스 값을 수정을 하면, 원본 배열의 인덱스까지.. 2020. 12. 31.
[Java] 배열(Array)? 배열 선언과 할당, 해쉬코드 TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 배열(Array) 같은 자료형의 변수 여러 개를 하나의 묶음으로 만들어 하나의 이름으로 다루는 것을 배열이라고 한다. 연관된 데이터를 모아서 관리하기 위해 사용하는 데이터 타입으로서, 변수는 자료형의 값 "하나"만을 담을 수 있는 값이라면, 배열은 같은 자료형의 변수 "여러 개"를 담아 그룹핑하는 값이라고 생각하면 쉽다. 변수는 각 방마다 인덱스가 지정된다. ex. int [ ] a = new int [5] ; ===> [0], [1], [2], [3], [4] 1. 배열 선언 (두 가지 방식으로 선언이 가능하다) 자료형 배열명 [ ] ; 자료형 [ ] 배열명 ; ex. int ar.. 2020. 12. 30.