분류 전체보기 149

2023.01.21

1.객체지향 마스터 (버거퀸 혼자 만들기, 응용해서 비슷한 프로그램 만들기) 2.웹 페이지 만들기 (기본형식) 3.나만의 어플 만들어 보기 (형식만 , 핸드폰에서 작동되는지) 4.Spring 강의 듣기 (https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8) [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 5.코테 (백준) ..

단기계획 2023.01.21

Java StringBuilder 사용하는 이유와 사용법

String 타입의 문자열에 새로운 값을 추가하고 싶으면 String str = "고양이"; str+="귀여워"; System.out.println(str); >>고양이귀여워 이런식으로 문자열에 바로 '+'를 통해 원하는 바를 얻을 수 있는데 우리는 왜 StringBuilder 클래스를 사용할까? 일단 StringBuilder는 문자열을 버퍼에 담아 그 안에서 추가 수정 삭제 작업을 할 수 있도록 도와주는 클래스이다. 이는 String 문자열의 존재를 유지한체 그 문자열을 수정해주는 반면 '+' 를 통해 String 타입에 추가를 해주는 건 기존의 객체를 수정하는 게 아닌, 새로운 객체를 생성하는 거여서 메모리 할당과 해제를 발생시켜 프래그램의 성능을 저하시키게 된다. 그렇기에 StringBuilder ..

Java/Java 2023.01.21

Java List 에 add() 했을 때 오류 UnsupportedOperationException

오류원인 Arrays.asList() 메소드는 고정길이의 원배열의 list view를 리턴합니다. 즉, 고정길이인 원래 배열의 list view를 리턴하기 때문에 Arrays.asList()를 사용해서 배열을 List로 변환한 후, 길이를 List에 값을 추가하는 것이 불가능하고, 원래 배열의 값을 변경하면 List의 값도 같이 변경됩니다. public class anything { public static void main(String[] args) { Integer[] arr = {1,2,3,4,5}; List list = Arrays.asList(arr); System.out.println(list); list.add(1); } } //출력 [1, 2, 3, 4, 5] Exception in thr..

error , solution 2023.01.20

Java 객체지향 프로그래밍 static (class 변수, instance변수)

우리는 객체를 생성할 클래스 내의 필드에 변수들, 그리고 메서드를 지정해 줄 수 있는데 그 변수를 어떤식으로 활용하게 만들지를 static이라는 키워드를 통해 정할 수 있습니다. 그렇다면 static은 어떤 역할을 하는 키워드일까요? 먼저 static은 클래스의 멤버(필드,메서드,이너 클래스)에 사용하는 키워드입니다. 필드에는 클래스의 속성을 나타내는 변수들을 지정하는데 static을 붙이지 않은 변수인 경우 instance 변수라고 부르고, 그 변수를 사용하기 위해서는 객체를 생성해서 참조변수를 통해 이용해야 합니다(참조변수 이름. 필드변수이름). 반면에 static을 붙인 변수 , 즉 class 변수는 객체를 생성하지 않고 바로 (클래스의 이름.필드변수이름)를 통해 이용할 수 있습니다. # class..

Java/Java 2023.01.15

Java 문자열 나누는 방법, 문자열 자르기 ( substring(), split())

substring() public class CordJgSubString { public static void main(String[] args) { String str = "ABCDEFG"; String result = str.substring(3); System.out.println(result); //출력 DEFG result = str.substring(3,6); System.out.println(result); //출력 DEF } } substring 메서드는 두 가지 활용법이 있다. 첫 번째는 substring(int index)를 이용해서 index 이후의 문자열만 자르는 것이고 두 번째는 substring(int index, int index)를 이용해 첫 번째 index

Java/Java 2023.01.15

Java 컬렉션 프레임워크 Map(HashMap) #로그인 코드 만들기

컬렉션 프레임워크에 속하는 Map 인터페이스는 무엇일까요? Map 인터페이스는 List, Set과 다르게 {key와 value} 쌍으로 데이터를 저장하는 컬렉션을 구현하는 데에 사용됩니다. 키와 값으로 구성된 객체는 Entry 객체라고 하며 Entry 객체를 활용하여 또 다른 메서드를 사용할 수도 있습니다. Map에서 키는 List에서 index 역할과 같이 주로 식별하는 역할을 하며 이러한 특징 때문에 중복 저장될 수 없고, 반면에 값은 중복 저장이 가능합니다. List의 (int index, object o )= Map (Key, value) 라고 생각하면 이해하기 쉬울 것 같네요 Map 인터페이스는 HashMap, HashTable, SortedMap, TreeMap 등의 클래스에서 구현되며 키를 ..

Java/Java 2023.01.14

Java 컬렉션 프레임워크_ Set(TreeSet)

Set에서 HashSet과 다르게 사용되는 클래스 TreeSet은 어떤 특징을 가지고 있을까요? TreeSet은 HashSet과 다르게 객체가 들어오게 되면 그 객체들을 자동적으로 오름차순으로 정렬을 합니다. 따라서 List처럼 따로 인덱스를 지정하지 않음에도 특정한 부분의 값들을 따로 가져올 수도 있고 가장 좌측의 값, 가장 큰 값, 어떠한 객체의 오른쪽에 있는 값등을 가져올 수 있습니다. public class CordJgTreeSet { public static void main(String[] args) { TreeSet treeSet = new TreeSet(); treeSet.add(1); treeSet.add(10); treeSet.add(5); treeSet.add(17); treeSet...

Java/Java 2023.01.14

Java 컬렉션 프레임워크 _ Set(HashSet)

Collection에서 집합의 특성을 가지고 있는 Set은 무엇일까요? Set은 수학에서 집합이라는 의미를 뜻합니다. 우리들이 수학에서 집합 단원을 배울 때 각 집합마다 각 요소들이 순차적으로 들어가는 게 아닌 마치 주머니에 있는 것 같은 모양을 많이 봤습니다. 여기에서 Set은 Collection 인터페이스의 상속을 받는 List와 차이가 나타납니다. List는 주로 순차적인 배열적인 특징을 가지고 있었다면 Set은 무분별한 공간에 저장되는 요소들을 이용하는 특징을 가집니다. 따라서, 각 인덱스마다 정보가 저장되어 같은 값이 저장되더라도 구분되던 List와 다르게 Set은 중복저장을 허용하지 않으며 저장순서를 저장하지 않습니다. 이는, 위 그림과 같이 수학적인 집합으로 생각하면 어찌보면 너무나 당연한 ..

Java/Java 2023.01.14

Java 컬렉션 프레임워크 Iterator

Iterator 란 무엇일까요? Iterator란 자바의 컬렉션(Collection)에 저장되어 있는 요소들을 순회하는 인터페이스입니다. 즉, Collection을 상속받는 List와 Set 인터페이스에서도 사용가능하다는 얘기입니다. Iterator 에는 아래와 같이 총 세 가지 메서드가 있습니다. 다음 요소가 있는지 판단하는 boolean 타입의 hasNext() 다음 요소를 가져오는 next(), 가져온 요소를 삭제하는 remove() next() 메서드와 remove()는 단독으로 사용할 수 없으며 꼭 hasNext() -> next() -> remove() 단계로 사용해야 사용할 수 있습니다. ArrayList list = new ArrayList(); for (int i = 1; i list 요..

Java/Java 2023.01.14

Java 컬렉션 프레임워크 LinkedList vs ArrayList

ArrayList와 LinkedList 의 차이는 무엇일까요? ArrayList는 List안에 갹 엘리먼트들이 순차적으로 저장되어져 있는 구조입니다. 따라서, ArrayList를 읽는다는 것은 붙어 있는 것들을 순차적으로 읽는 것이기에 굉장히 빠르게 읽으 수 있습니다. 반대로 LinkedList는 각 엘리먼트들이 순차적으로 저장되어져 있는 것이 아닌 상태에서 각 각의 엘리먼트들을 연결해서 저장되어져 있는 구조입니다. 따라서, LinkedList를 읽기 위해서는 각 각 연결되어져 있는 노드들을 읽어야하는 과정이 필요하기에 ArrayList에 비해서 읽는 속도가 느릴 수밖에 없습니다. LinkedList linkList = new LinkedList(10); -> 오류 ArrayList arrayList =..

Java 2023.01.14