java
-
[Java] 컬렉션 프레임워크 3 (List, ArrayList 중심으로)IT Study/컴퓨터 기초 2023. 3. 28. 19:21
1. List 인터페이스란? List는 순서가 있는 데이터의 집합을 다루기 위한 인터페이스로, 데이터의 중복을 허용한다는 특징을 가집니다. List는 순서가 있는 만큼 인덱스를 사용하여 요소에 접근할 수 있다는 것에 주목해야 합니다. 순서와 인덱스에 대해 상기시키며 List에 대해 이해해 봅시다. 2. ArrayList 클래스 ArrayList는 List 인터페이스를 구현하는 클래스 중 가장 일반적으로 사용되는 클래스입니다. 내부적으로 배열을 이용해 요소를 저장하기 때문에, 인덱스를 통한 접근은 빠르지만 요소의 추가/삭제가 많을 경우 성능저하가 일어날 수 있습니다. 2-1. ArrayList 클래스의 메서드 첫 번째 표는 Collection 인터페이스와 동일한 이름을 가진 ArrayList의 메서드입니다..
-
[Java] 컬렉션 프레임워크 2 (Set, HashSet 중심으로)IT Study/컴퓨터 기초 2023. 3. 28. 13:50
1. Set 인터페이스란? Set은 중복된 원소를 허용하지 않는 자료구조를 구현하는 데에 사용합니다. Set은 수학의 '집합' 개념과 유사합니다. 수학에서의 집합은 중복되지 않는 원소들의 모임이며, 집합 내 원소들은 순서가 존재하지 않습니다. Set도 마찬가지로 중복되는 원소를 허용하지 않고 유일해야 하며, 순서에 상관없이 저장됩니다. 따라서, 집합의 개념을 떠올리며 Set의 메서드에 대해 이해해 봅시다. 2. HashSet 클래스 HashSet은 Set 인터페이스 중 가장 일반적으로 사용되는 클래스로, 원소의 순서를 보장하지 않습니다. 2-1. HashSet 사용법 import java.util.HashSet; public class Main { public static void main(String[..
-
[Java] 컬렉션 프레임워크 1 (컬렉션 인터페이스)IT Study/컴퓨터 기초 2023. 3. 28. 01:09
오늘은 (수업시간에) 컬렉션 프레임워크에 대해 배웠습니다. 자바에서 많이 사용하는 만큼 개념을 정확히 잡고 가야 할 것 같아, 블로그 글로 정리하고자 합니다. 1. 컬렉션 프레임워크란? 다수의 데이터를 처리하기 위한 자료구조들을 표준화하여 인터페이스와 클래스로 구현한 것. 1-1. 컬렉션 프레임워크 구성 요소 인터페이스 : 컬렉션의 공통 기능을 선언하는 역할을 합니다. 클래스 : 인터페이스를 구현한 컬렉션 클래스로, 실제 동작을 구현합니다. 알고리즘 : 컬렉션 데이터를 처리하는 데 사용하는 메서드를 정의합니다. 위 그림은 Collection 프레임워크의 구성을 보여줍니다. Collection과 Map이라는 최상위 인터페이스 아래 다양한 인터페이스와 클래스들이 존재합니다. Collection(인터페이스) ..
-
[Java] 추상화와 인터페이스IT Study/컴퓨터 기초 2023. 3. 26. 21:10
1. 추상화란? 추상화(abstraction)는 객체지향 프로그래밍의 주요한 개념 중 하나입니다. 사용할 객체의 공통되는 특정(데이터, 기능)을 분리하고 하나의 개념으로 묶어, 이를 다루기 쉽게 만들 수 있습니다. 2. 추상 클래스 추상 클래스(abstract class)는 추상화를 이용한 클래스로, 일반 클래스와 달리 추상 메서드를 포함할 수 있습니다. 여기서 추상 메서드는 구현 내용 없이, 선언만 있는 메서드입니다. 추상 클래스는 추상 메서드를 포함하고 있어, 직접 객체를 생성하여 사용할 수 없습니다. 직접 사용할 수 없기 때문에, 상속을 통해 자식(하위) 클래스에서는 추상 메서드를 반드시 구현하여 사용할 수 있습니다. 2-1. 추상 메서드 선언 방법 abstract 키워드를 붙인다. 선언부만 작성하..
-
[Java] String, StringBuffer, StringBuilderIT Study/컴퓨터 기초 2023. 3. 26. 15:40
오늘은 자바에서 문자열을 다루는 클래스인 String, StringBuffer, StringBuilder에 대해 함께 알아보도록 하겠습니다. 1. String이란? Java에서 문자열을 다루는 클래스로, 불변(immutable)이라는 특징을 가져 한 번 생성된 문자열은 변경할 수 없습니다. 1-1. String 특징 문자열을 저장할 때 문자 배열 char[]을 사용합니다. 따라서 인덱스를 사용해, 각 문자열의 문자에 접근이 가능합니다. 1-2. String 예시 String 클래스에서 주로 사용되는 변수나 메서드를 아래 예시에 작성해뒀습니다. import java.util.Arrays; public class Main { public static void main(String[] args) { // St..
-
[Java] 변수와 메모리IT Study/컴퓨터 기초 2023. 3. 24. 17:42
자바를 배우다보면 변수와 메모리라는 단어를 자주 또 많이 듣게 됩니다. 변수의 개념과 종류, 사용 예시를 확인하고 메모리의 개념과 종류, 사용 예시를 확인해보며 개념을 확실하게 잡고 넘어가겠습니다 ! 1. 변수란? 변수란 값을 저장하는 메모리 공간의 이름을 의미합니다. 메모리 공간을 데이터를 저장할 때 사용되며, 데이터를 읽거나 수정할 수 있습니다. 자바에서는 멤버 변수, 지역 변수, 매개 변수 등의 다양한 종류의 변수를 사용할 수 있습니다. 1-1. 멤버 변수 멤버 변수란 클래스 내에 선언되는 변수로, 객체의 속성을 나타냅니다. 객체가 생성될 때 만들어지며, 객체가 소멸될 때까지 존재합니다. public class Person { Stirng name; // name : 멤버 변수 int age = 9..
-
[Java] next()와 nextLine() 차이와 사용법IT Study/컴퓨터 기초 2023. 3. 24. 10:36
"next 말고 nextLine만 사용하면 안 돼?" "안됩니다.." next()와 nextLine()은 Scanner 클래스에서 사용하는 메서드입니다. 이들을 사용하다보면 어떤 상황에서 어떤 메서드를 사용해야할지 많이 고민됩니다. 이번 블로그 글을 정리하며, 이들의 차이를 정확히 확인하겠습니다. next() 메서드 공백문자(띄어쓰기 " ", 탭 "\t", 개행문자 "\n" 등) 이전의 문자열만 입력받아 처리합니다. nextLine() 메서드 개행문자(\n)를 포함한 문자열 1줄을 입력 받아 처리합니다. 개념만 읽으면 이해가 잘 되지 않을 수도 있으니, 아래의 예시를 보며 확인해봅시다. import java.util.Scanner; public class nextStudy { public static v..
-
[Java] String 클래스의 equals(), ==, = 의 차이점IT Study/컴퓨터 기초 2023. 3. 23. 09:50
String 클래스에서 사용하는 equals와 ==, = 의 차이점에 대해 알아보도록 하겠습니다. equals( ) 메서드 두 개의 객체가 서로 내용이 같은지 비교합니다. 즉, 주소값이 아닌 문자열 자체의 내용이 같은지를 비교하여 true, false를 리턴(반환)합니다. = = 연산자 두 개의 객체가 같은지 비교합니다. 주소값이 같은지, 같은 메모리 주소를 참조하는지 비교하여 true, false를 리턴(반환)합니다. = 연산자 우변의 값을 좌변의 변수에 대입합니다. 아래의 예시를 살펴보며 자세히 확인해보도록 하겠습니다. public class Main { public static void main(String[] args) { String str1 = "hello"; String str2 = "hel..