반응형

Java/Java 15

[Java] JDK 환경변수 설정 방법 및 이유

JDK 환경변수 설정 이유 환경변수 설정을 통해 운영체제 어디에서든 Java를 인식할 수 있도록 할 수 있습니다. *bin 폴더 안에 javac를 비롯한 각종 실행파일이 있기 때문에 환경변수를 설정할 때, jdk의 bin 디렉터리 경로를 등록합니다. 자바 실행파일의 경로가 환경변수 path에 제대로 세팅되어 있다면 어느 곳에서나 jdk의 bin에 있는 프로그램들을 실행시킬 수 있습니다. 환경변수 설정 방법 1. 환경 변수를 검색하여 '시스템 환경 변수 편집'을 열어주세요. 2. 고급 탭을 클릭 후 하단에 있는 환경 변수를 눌러줍니다. 3. 시스템 변수 탭에서 새로 만들기를 클릭하고, 값을 입력해 줍니다. 4. 시스템 변수에서 Path를 찾아 클릭하고, 편집을 눌러줍니다. - 새로 만들기를 통해 %JAVA..

Java/Java 2023.07.27

Java_ Optional Class

Optional Class란? 자바에서 null 값은 런타임에서 예외를 발생시킬 수 있는 원인 중 하나입니다. 이를 해결하기 위해 Java 8에서는 Optional 클래스가 도입되었습니다. Optional 클래스는 null 값을 감싸고 있는 래퍼 클래스로, null 값을 명시적으로 다룰 수 있게 합니다. 이를 통해 코드의 가독성과 안정성을 높일 수 있습니다. Optional 메서드 우선, Optional 객체를 생성할 때는 of(), ofNullable() 또는 empty() 메서드를 활용합니다. of() 메서드는 null이 아닌 값을 감싸는 Optional 객체를 생성하며, ofNullable() 메서드는 null 값을 감싸는 Optional 객체를 생성합니다. empty() 메서드는 비어있는 Opti..

Java/Java 2023.02.21

Java 깊은 복사(Deep Copy) 와 얕은 복사( Shallow Copy)

깊은 복사와 얕은 복사의 의미 깊은 복사와 얕은 복사를 단순하고 명료하게 정리해 보면 얕은 복사(shallow copy)는 복사한 배열이 원래 배열의 '주소값'을 가져오고 깊은 복사(deep copy)는 복사한 배열이 원래 배열을 '그대로 가져온다 정도로 정리해 볼 수 있습니다. 얕은 복사는 복사하려는 배열의 주소값을 가져오며, 단순한 변수 선언을 통한 복사의 형태이고, 그래서 복사한 배열을 수정할 경우, 원래 배열도 같이 수정되게 됩니다. (예를 들어 자물쇠의 열쇠를 복사하는 것과 같아, 복사한 열쇠를 통해 자물쇠를 열어 그 안의 내용을 바꾸면 기존의 열쇠를 통해 열어도 그 안의 내용물이 변화되는 것과 같습니다.) 반면에 깊은 복사는 새로운 배열에 원래 배열을 복사하는 겁니다. 따라서 복사한 배열을 수..

Java/Java 2023.02.01

Java _ 래퍼 클래스(Wrapper Class)

Wrapper Class는 무엇일까요? 래퍼 클래스는 하나 이상의 기본 타입(primitive type)을 wrap 하는 클래스입니다. 기본타입인 boolean, byte, char, int, float, double, long, short을 객체로 사용하는 클래스들을 말하는 거죠 그런 래퍼 클래스에는 Integer,Boolean,Double 등이 있습니다 그런데, 방금 위에서 하나 이상의 기본 타입이라 했는데 왜 하나 이상이라는 표현을 썼을까요? Primitive(기본타입) Wrapper Class(래퍼 클래스) Constructor Argument (생성 인자) boolean Boolean byte or String char Character char int Integer int or String f..

Java/Java 2023.01.29

Java StringBuilder vs StringBuffer /Thread

일반적으로 StringBuilder와 StringBuffer를 비교해 보면 StringBuilder가 더 성능이 뛰어나기에 StringBuilder를 사용해 주면 됩니다. 그렇다면 StringBuffer 클래스는 왜 필요한 걸까요?? 이 이유를 알기 위해서는 Thread 개념을 알아야 하는데 간단하게 StringBuffer는 Thread를 이용할 때 메서드가 동기화되므로 Multi Thread 환경일 때 사용됩니다. Thread의 개념을 모른다면 >>> > https://cordcat.tistory.com/62 정리해 보자면 이렇습니다. 성능 : StringBuilder > StringBuffer Thread 사용 시 : StringBuffer 그 외 쓰임새 : StringBuilder = StringB..

Java/Java 2023.01.21

Java Thread

Thread 란 무엇일까?? Thread는 프로세스 내부에서 독립적으로 실행되는 각각의 작업 단위를 지칭합니다. 다음의 코드는 Thread를 이용하지 않고 실행했을 경우입니다. public class PrThread extends Thread { String name ; public PrThread(String a){name=a;} public void run() { System.out.println("내 이름은 "+name+"입니다"); for (int i = 0; i < 4; i++) { System.out.println("첫번째 " + i + " 입니다"); } System.out.println(); } public static void main(String[] args) { String[] a =..

Java/Java 2023.01.21

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

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

Java/Java 2023.01.21

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
반응형