[JAVA] BigInteger
·
Programming Language/JAVA
💡 문자열 형태로 이루어져 있어 숫자의 범위가 무한함 Type 범위 int -2,147,483,648 ~ 2,147,483,647 long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 BigInteger 계산 문자열이므로 사칙연산 불가 → 내부 메서드 사용 BigInteger bigNumber1 = new BigInteger("100000"); BigInteger bigNumber2 = new BigInteger("10000"); System.out.println("덧셈(+) :" +bigNumber1.add(bigNumber2)); System.out.println("뺄셈(-) :" +bigNumber1.subtract(bigNumber2)); Sy..
[JAVA] List & Set &Map
·
Programming Language/JAVA
List 데이터를 순차적으로 저장 데이터의 중복 허용 데이터로 null 허용 Set 순서 없이 Key로만 데이터를 저장 Key 중복 허용 안함 Key로 null 허용 안함 Map 순서 없이 Key, Value로 데이터를 저장 Value는 중복을 허용하지만 Key의 중복을 허용하지 않음 Key로 null을 허용 안함
[JAVA] Call By Value와 Call By Reference
·
Programming Language/JAVA
Call By Value 인자로 받은 값을 복사하여 처리하는 방식 Call By Value에 의해 넘어온 값을 증가 시켜도 원래의 값이 보존됨 값을 복사하여 넘기기 때문에 메모리 사용량이 늘어남 Call By Reference 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 주는 방식 값을 복사하지 않고 직접 참조하기 때문에 속도가 빠름 원래의 값에 영향을 주는 리스크가 존재함 public class Main { public static void main(String[] args) { Foo f = new Foo("f"); System.out.println(f.string); changeReference(f); // It won't change the reference! modifyReference(..
[JAVA] 지역 변수 & 전역 변수 & static(정적) 변수
·
Programming Language/JAVA
지역 변수(stack 영역) 지역 안에서 선언된 변수 그 영역의 닫는 중괄호를 만났을 때 메모리에서 해제됨 사용자가 직접 초기화 해야 함 다른 영역에서 접근할 수 없기 때문에 보안성이 뛰어남 public class Main { public static void main(String[] args) { int a = 0; //지역변수. } } 전역 변수(data 영역) 클래스 영역 안에 있고, 전체 영역에서 사용 가능한 변수 클래스 영역 외의 어떠한 영역에도 포함되어 있지 않음 new를 만났을 때 초기화 됨 프로그램 종료 시 메모리에서 해제 됨 다른 영역에서도 접근할 수 있기 때문에, 보안성이 상대적으로 낮음 전역 변수 종료 static 변수 : 다른 클래스에서도 호출 가능 인스턴스 변수 : 같은 클래스 내..
[JAVA] 인터페이스(interface)
·
Programming Language/JAVA
인터페이스 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않음 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미함 추상 메소드와 상수만을 포함할 수 있음(변수 가질 수 없음) 다중 상속 지원 모든 메소드는 선언부만 존재 구현 클래스는 선언된 모든 메소드를 overriding함 사용 이유 ex) 한국인을 위한 번역기를 만들 예정, 그러나 전세계 언어가 너무 많아서 업무를 나눠서 한 친구는 영어 번역 클래스를, 한 친구는 중국어 번역 클래스를 생성하기로 함 결과물 1 /** * @author 팀원1 */ public class Eng..
[JAVA] 가비지 컬렉션(Garbage Collection)
·
Programming Language/JAVA
가비지 컬렉션(Garbage Collection, GC) 자바의 메모리 관리 방법 중의 하나로 JVM의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체를 모아 주기적으로 제거하는 프로세스 가비지 컬렉터(Garbage Collector) 가비지 컬렉션을 수행하는 주체 가비지 컬렉션의 필요성 가비지 컬렉션을 이용하게 되면 프로그래머가 동적으로 할당한 메모리 영역 전체를 완벽하게 관리하지 않아도 되고, 버그나 불필요한 작업을 해소할 수 있는 장점 하지만, 동적으로 할당된 메모리가 사용되지 않는 경우엔 문제가 발생 메모리 해제 시점을 추적해야 하는데 비용이 들게 되고, 프로그래머가 수동으로 메모리 할당과 해제를 일일이 해줘야함. 그러므로 가비지 컬렉션이 필요 가비지 컬렉션의 동작 매커니..