KOSTA 4일차) 클래스 / BigInteger

해버니·2023년 2월 19일
0

KOSTA

목록 보기
14/32
post-thumbnail

클래스

사용자가 타입을 정의


오늘날에는 데이터 양이 많아졌다. (정보, 개인의 취향, 구매이력 등등)
점점 복잡도가 올라가면서 데이터 타입을 직접 정의해서 쓰기 위해 클래스가 나왔다
클래스는 int, float과 같은 데이터 타입인데 우리가 만들어서 사용하는 것이다.

한 객체의 데이터를 한 변수에 담고 싶다 → 캡슐화
값은 여러개인데 이것을 한 변수에 담으려고 하는 것
지금 설명하는게 클래스의 전부는 아니지만 1차원적인 목적은 캡슐화이다.





타입 정의

class 타입명 {
   int a; // 멤버 변수 : 클래스 안에 있는 변수
   String b; // 멤버 변수
   float c; // 멤버 변수 : heap에 할당
}

메소드 안에 있는 변수를 지역 변수 : stack에 할당


class Test {
   int a;
   String b;
   float c;
}

타입 이름 : Test
Test 타입 : int 1개, String 1개, float 1개를 담을 수 있는 타입이다.


그냥 타입만 만들었기 때문에 (아직 값을 넣진 않은 것) 변수를 선언해줘야 한다.






변수 선언

Test t1; // (이름은 마음대로)

그리고 뭐가 나와야 돼? new 가 나와야 한다.
힙에다 메모리 할당을 받아야 한다.




객체 생성

t1 = new Test();

클래스랑 이름이 똑같은 걸 생성자라고 한다.



보통 밑처럼 한 번에 쓴다.

Test t1 = new Test();




그래서 t1은 stack에 각각 a, b, c는 heap에다가 할당을 받는 것

t1.a = 10;
t1.b = "abcdefu";
t1.c = 3.14f;

//3.14는 double이고 3.14f는 float 타입이다.
//이와 유사하게 long xx=30l; 이 있다.

System.out.print(t1.a);











BigInteger

BigInteger은 문자열 형태로 이루어져 있어 숫자의 범위가 무한하기에 어떠한 숫자이든지 담을 수 있다.



선언

import java.math.BigInteger;
BigInteger num1 = new BigInteger("1004");
BigInteger num2 = new BigInteger("1111");
BigInteger num3 = BigInteger.valueOf(100);



연산

int result;
result = num1.add(num2); // 더하기
result = num1.substract(num2); // 뻬기
result = num1.multiply(num2); // 곱하기
result = num1.divide(num2); // 나누기 
result = num1.remainder(num2); // 나머지 



배열

BigInteger[] arr = new BigInteger[100];
int sum = arr[0].add(arr[1]);









복습

(끄적끄적)


변수는 프로그램에서 사용하는 데이터를 저장한다.
한 개씩 저장할 때는 변수를 쓰고 여러개씩 저장할 때는 배열을 쓴다.


연산자
관계연산자 : &&, ||, !
삼항연산자: (조건) ? (true 실행문1) : (false 실행문2)


정렬

① Bubble Sort
짜기는 제일 쉽지만 성능이 제일 안 좋다.
요소 2개씩 비교하여 바로 자리 교체

② Insert Sort (삽입정렬)

③ Select Sort (선택정렬)

④ Quick Sort

⑤ Merge Sort

⑥ Heap Sort

⑦ Shell Sort

⑧ Radix Sort (기수정렬)






0개의 댓글