no image
[Java] 컬렉션 - Array (배열) / 전,중,후 데이터 삽입
이번 주말에 있을 SQLD 시험을 준비하며.. 미뤄 왔던 포스팅을 다시 열심히 해야지..오늘은 컬렉션 프레임워크 중에서 ArrayList, 즉 배열리스트에 대해 포스팅하고자 한다.배열 리스트는 말 그대로 배열 + 리스트 의 개념을 합쳐 놓은 것이라는 선수 지식을 가지고 오늘의 복습을 시작하겠다.배열은 단순하면서도 복잡하면서도 아주 좋은 자료구조이다import java.util.Arrays;public class ArrayMain { public static void main(String[] args) { int[] arr = new int[5]; //index 입력 : O(1) System.out.println("==index 입력: O(1)=="); ..
2024.11.15
no image
[Java] 컬렉션 - Iterable, Iterator 와 for- each 문 (2)
이전 포스팅과 연결됩니다..!https://bdisappointed.tistory.com/64 [Java] 컬렉션 - Iterable, Iterator 직접 구현해보기 (1)오늘의 포스팅은 컬렉션 프레임 워크 중에 우리가 흔히 인텔리제이 에서 iter 이란 키워드로 편하게 배열을 탐색하게 해주는 바로 그 기능에 대해 포스팅 하고자 한다!사실 이전에 그냥 개꿀 기bdisappointed.tistory.com지난번 포스팅에서는 Iterable과 Iterator를 직접 구현해보았다.근데 그래서 우리가 인텔리제이에서 쓰는 iter, 즉 향상된 for 문이랑 이게 머선 상관인데?향상된 for문 (for- each 문)지난 포스팅에서 작성했던 코드에 for - each 문을 살짝쿵 추가해보자public class ..
2024.10.26
no image
[Java] 컬렉션 - Iterable, Iterator 직접 구현해보기 (1)
오늘의 포스팅은 컬렉션 프레임 워크 중에 우리가 흔히 인텔리제이 에서 iter 이란 키워드로 편하게 배열을 탐색하게 해주는 바로 그 기능에 대해 포스팅 하고자 한다!사실 이전에 그냥 개꿀 기능이네~ 하고 블로그에 글을 썼던 주제인데.. 사실 알고보면 복잡하고 복잡한 기능을 우리가 그냥 쓰기 편하게 인터페이스로 구현해놓은 것이었다..뭣도 모르고 사용 했던 향상된 for 문 (for - each)https://bdisappointed.tistory.com/33 [Java] 향상된 for문 (for - each문)향상된 for 문 (for - each)문이란배열을 배우고 응용하다 보면 배열의 0번째 인덱스부터 끝까지 한번 돌리고 싶은데,우리가 그럴 때마다 어떻게 했는가? 일단 아래 예시를 보자.//기존 for..
2024.10.26
no image
[Java] 제네릭 (Generic) (2)
저번 포스팅에서, 제네릭을 도입하여 코드의 타입 안전성과, 코드 재사용성을 늘려보았다.오늘은 1편에 이어 제네릭에 대해 두번째 포스팅을 해보고자 한다.동물 병원을 만들어보자예를 들어, 아래와 같이 Animal 클래스와 그의 자식 클래스인 Dog와 Cat이 있다고 하자.public class Animal { private String name; private int size; public Animal(String name, int size) { this.name = name; this.size = size; } public String getName() { return name; } public int getSize() { ..
2024.10.10
no image
[Java] 제네릭이 필요한 이유 (Generic) (1)
오늘도 즐겁고 기쁜 마음으로 제네릭에 대해 포스팅 하고자 한다. 내용이 많으니까 2부에 걸쳐 올리려고 한다. 제네릭이 필요한 이유매그네릭.. 아니 제네릭이 필요한 이유를 설명하기 전, 예시를 통해 이해해보자예를들어, 아래와 같이 단순한 기능을 제공하는 코드가 두개 있다고 가정하겠다그리고 아래와 같이 Main 코드를 작성해보겠다public class BoxMain { public static void main(String[] args) { IntegerBox integerBox = new IntegerBox(); integerBox.set(10); // == (Integer integerBox = Integer.valueOf(10)); -> 오토 박싱 Intege..
2024.10.07
no image
[Java] 불변 객체 (Immutable Instance) , 사이드 이펙트(Side Effect)
불변 객체란 무엇인가오늘 포스팅 할 것은 불변 객체이다.불변객체.. 이름부터 "변하지 않는 객체" 인 것 같지 않은가.. 얼마나 직관적인지..! 그전에 불변객체가 왜 필요한지를 알기 위해 빌드업부터 시작해보겠다.아무튼 우리가 자바에서 사용하는 데이터 타입에는 크게 두가지가 있다 바로 기본형과 참조형 이다.간단하게 예를 들면, 아래와 같다.int number = 10; // 기본형Object obj = new Object(); // 참조형기본형은 그냥 직관적으로 봐도 잘 알테고, 참조형은.. 확실하게 알지 못한다면 더 공부를 하고 와야한다..그냥 일단 참조형 -> 객체의 주소 값 저장 정도로만 알고 일단 킵고잉하자.먼저 기본형에 대해 예를 들어보면, 간단하게 a 에 10을 대입하고, b 에는 a의 값을 대..
2024.09.29
no image
[Java] StringBuilder - 가변 String
String은 원래 불변이다원래 String은 불변 객체이다. → 즉 내부 값은 변경 불가그러므로, 객체의 값을 바꾸고 싶다면 기존의 값은 그대로 두고 기존 값 + 더할 값 을 통하여 새로운 객체를 생성해서 사용해야한다. 변경된 값을 기반으로 새로운 객체 생성시 단점예를 들어, A,B,C,D 를 더하여 ABCD 라는 필드 값을 만들고 싶은데, 이때,A + B 를 통해 AB 라는 새로운 객체가 만들어지고, AB+C라는 두번째 새로운 객체가 만들어지고,ABC+D 라는 세번째 새로운 객체가 만들어진다.이때 생성되는 새로운 객체들은 ABCD를 만들기 위한 발판일 뿐, 사용하거나 필요한 객체가 아니다.(메모리 낭비 → 즉 GC대상) 어떻게 해결할 수 있을까?String은 불변객체이다. 그러므로 계속 필요 없는 객..
2024.09.26
no image
[Java] String 클래스에서 사용되는 메서드 (주관적으로 중요한 메서드)
문자열 정보 조회length() : 문자열의 길이를 반환한다.isEmpty() : 문자열이 비어 있는지 확인한다. (길이가 0)isBlank() : 문자열이 비어 있는지 확인한다. (길이가 0이거나 공백(Whitespace)만 있는 경우), 자바 11charAt(int index) : 지정된 인덱스에 있는 문자를 반환한다.문자열 비교equals(Object anObject) : 두 문자열이 동일한지 비교한다.equalsIgnoreCase(String anotherString) : 두 문자열을 대소문자 구분 없이 비교한다.compareTo(String anotherString) : 두 문자열을 사전 순으로 비교한다.compareToIgnoreCase(String str) : 두 문자열을 대소문자 구분 없이..
2024.09.25
no image
[Java] 다운 캐스팅 , instanceof
다형성을 공부하면서 여러 가지 클래스를 상속하다보면, 슈퍼 클래스인 A 클래스를 참조하는 자식 클래스들의 인스턴스가 어떤 클래스를 참조하고 있는지 확인하고 싶다면, instanceof 키워드를 사용하면 된다.쉽게 얘기해서..//Parent 를 부모클래스, Child를 자식 클래스라고 가정Parent parent1 = new Parent();Parent parent2 = new Child();이때, Parent 는 자기 자신을 참조할 수 있을 뿐만 아니라, 자식 타입의 Child 인스턴스도 참조할 수 있다.이럴 때, parent1 과 parent2가 참조하는 인스턴스의 타입을 확인하고 싶다면, instanceof 키워드를 사용하면 된다. 구체적으로 아래와 같은 코드를 실행한다고 가정하자.public cla..
2024.09.21