Til(42)
-
[TIL][Java][2023-12-08] 객체 지향 프로그래밍
객체 지향 프로그래밍 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체로 만들고, 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체란? 의미 적으로 뭉쳐있는 존재, 실제로 존재하는 것. 물리적으로 존재하는 물체나 강의, 운동 등의 개념적인 것 또한 식별이 강하기에 객체라 볼 수 있다. 객체 간의 협력 현실에서 사람이라는 객체와 자동차라는 객체가 서로 행위를 통하여 상호작용하듯이 소프트웨어의 객체들끼리도 행위를 정의하는 메서드를 통해 상호작용을 한다. 객체 간의 관계 사용 관계 포함 관계 상속 관계 객체지향 프로그래밍의 특징 캡슐화 데이터를 숨기고 해당 데이터를 다루는 방법을 묶어놓는 것. 외부에서는 해당 데이터에 직접 접근할 수 없고, 메서드를 통해서만 접근할 수 있..
2023.12.08 -
[TIL][Java][2023-12-07] 컬렉션 - Map
Map Map은 key - value 구조로 구성된 데이터를 저장할 수 있다. 특징 key - value 형태로 데이터를 저장하기 때문에 기존에 순번으로만 조회하던 방식에서 key 값을 기준으로 value를 조회할 수 있다. key 값 중복을 허용하지 않는 기능을 가지고 있다. Map은 그냥 Map으로 쓸 수도 있지만 HashMap, TreeMap등으로 응용하여 사용할 수 있다. 기능 선언 : Map intMap 형태로 Key값과 Value타입을 지정해서 선언한다. 생성 : new HashMap(); 의 형태로 생성한다. 추가 : intMap.put(추가할 key값, 추가할 value값) 형태로 Key에 Value값을 추가한다. 조회 : intMap.get(조회할 key값) 형태로 Key에 있는 Valu..
2023.12.07 -
[TIL][Java][2023-12-06] 컬렉션 - Set
Set set은 순서가 없는 데이터의 집합이다. 데이터 중복을 허용하지 않는다. - 순서가 없고 중복도 없는 배열 특징 순서가 보장되지 않는 대신 중복을 허용하지 않는다. Set은 HashSet, TreeSet 등으로 응용하여 사용할 수 있다. Set은 생성자가 없는 껍데기라서 바로 생성할 수는 없다.(인터페이스) 생성자가 존재하는 클래스인 HashSet을 사용하여 Set을 생성해 받을 수 있다. 기능 선언 : Set intSet 의 형태로 선언한다. 생성 : new HashSet(); 의 형태로 생성한다. 추가 : intSet.add(추가할 값) 의 형태로 값을 맨 위에 추가한다. 조회 : intSet.get(조회할 순번) 의 형태로 순번에 있는 값을 조회한다. 삭제 : intSet.remove(삭제할..
2023.12.06 -
[TIL][Java][2023-12-05] 컬렉션 - Queue
Queue 빨대처럼 한쪽에서 데이터를 넣고 반대쪽에서 데이터를 뺄 수 있는 집합이다. 특징 Firts In First Out : 먼저 들어간 순서대로 값을 조회할 수 있다. 때문에 넣는 기능(add()), 조회(peek()), 꺼내는 기능(poll())만 존재한다. Queue는 생성자가 없는 껍데기라서 바로 생성할 수는 없다.(인터페이스) 생성자가 존재하는 클래스인 LinkedList를 사용하여 Queue를 생성해서 받을 수 있다. 기능 선언 : Queue intQueue 의 형태로 선언한다. 생성 : new LinkedList(); 의 형태로 생성한다. 추가 : intQueue.add(추가할 값) 의 형태로 값을 맨 위에 추가한다. 조회 : intQueue.peek() 의 형태로 맨 아래값을 조회한다...
2023.12.05 -
[TIL][Java][2023-12-04] 컬렉션 List - Stack
Stack Stack은 값을 수직으로 쌓아놓고 넣었다가 빼서 조회하는 형식으로 데이터를 관리한다. "나중에 들어간 것이 가장 먼저 나온다.(Last In First Out)" 라고 표현하며 주로 상자와 비유해서 설명한다. 특징 상자에 물건을 넣고 빼는 것처럼 밑에서 위로 쌓고, 꺼낼 때는 위에서부터 꺼내는 형식이다. 때문에 넣는 기능(push())과 조회(peek()), 꺼내는(pop()) 기능만 존재한다. 최근 저장된 데이터를 나열하고 싶거나 데이터의 중복 처리를 막고 싶을 때 사용한다. 기능 선언 : Stack intStack 의 형태로 선언한다. 생성 : new Stack(); 의 형태로 생성한다. 추가 : intStack.push(추가할 값) 의 형태로 값을 추가한다. 조회 : intStack.p..
2023.12.04 -
[TIL][Java][2023-12-01] 컬렉션 List - LinkedList
LinkedList LinkedList는 메모리에 남는 공간을 요청해서 여기저기 나누어 실제값을 담아 놓고, 실제값이 있는 주소값으로 목록을 구성하고 저장한다. 특징 기본적인 기능은 ArrayList와 동일하지만 LinkedList는 값을 나누어 담기 때문에 모든 값을 조회하는 속도가 느리다. 대신에, 값을 중간에 추가하거나 삭제할 때에는 속도가 빠르다. 중간에 값을 추가하는 기능이 있다. 기능 선언 : LinkedList linkedList 의 형태로 선언한다. 생성 : new LinkedList(); 의 형태로 생성한다. 초기화 : 사이즈를 지정하지 않기 때문에 초기화가 필요 없다. 값 추가 : linkedList.add() 의 형태로 값을 추가한다. 값 중간에 추가 : linkedList.add(추..
2023.12.01