분류 전체보기(129)
-
static_메서드1
static 키워드는 변수 뿐 아니라 method 에도 들어간다. static 변수에 대해 알아봤으니, 이번엔 static method 고다. public class ConvertUtil { public static String convertCitizenNumber(String citizenNumber) { String[] splitNum = citizenNumber.split("-"); return splitNum[0] + "-" + splitNum[1].substring(0,1) + "******"; } } public class ConvertUtilMain { public static void main(String[] args) { String citizenNumber = "201011-315626..
2024.01.23 -
static_static 변수
static 키워드는 주로 '멤버 변수', '메서드' 에 사용된다. 멤버 변수에 static 키워드가 왜 필요한지 알아보자. 주문이 들어올 때마다 count를 하나씩 늘려 하루 동안 들어온 주문 수를 세고 싶다. 그래서 order 클래스에 멤버변수 int count 를 작성했다. public class Order { public String content; public int count; public Order(String content) { this.content = content; count++; } } 이렇게 작성된 Order 를 실제로 사용 해보니 public class OrderCountMain { public static void main(String[] args) { Order order1 ..
2024.01.22 -
자료구조_스택&큐
스택 구조 3 2 2 2 1 1 1 1 1 탄창이 있다고 쳐보자. 총알을 집어 넣는 구멍은 위쪽에 1개만 뚫려있고, 이 구멍을 통해서만 총알을 넣었다 뺄 수 있다. 총알을 하나, 하나, 하나 해서 3개 넣었는데, 도로 빼라는 지시가 내려와 도로 빼내었다. 구멍이 하나 뿐이라 3번 째로 먼저 넣은 총알을 빼고, 그 다음 2번째로 넣은 총알을 빼고 나서야 마지막 한 발을 뺄 수 있는 '후입선출(LIFO - Last In First Out)' 구조. 이를 스택 이라 한다. 큐 구조 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 이번엔 후입선출(LIFO) 과 다른 선입선출(FIFO)에 대해서도 알아보자. 가장 먼저 넣은 것이 가장 먼저 나온다. 화장실에 줄을 빨리 선 사람부터 화장실에 들어갈 수 있다. ..
2024.01.22 -
메모리 구조_잡탕
자바의 메모리 영역은 크게 - 메서드(METHOD) - 스택(STACK) - 힙(HEAP) 영역으로 나눌 수 있다. 메서드 영역 : 클래스 정보를 보관한다. 스택 영역 : 실제 프로그램이 실행되는 영역. 메서드를 실행할 때 마다 하나씩 쌓인다. 힙 영역 : 객체(인스턴스)와 배열이 생성되는 영역. new 키워드를 사용하면 이 힙(heap) 영역에 객체가 생성된다. ------ ? ? ? 이렇게만 봐서는 모르겠다. 좀 더 깊이 들어가 보자. 메서드 영역 : 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 이 영역은 프로그램의 모든 영역에서 공유한다. - 클래스 정보 : 클래스의 실행 코드(바이트 코드), 멤버변수, 메서드, 생성자 코드 등 모든 실행 코드 - static 영역 : static(정적) ..
2024.01.22 -
List_ArrayList_에서 시작했는데 transient를 뒤지고 있다는 글
학습하던 중, 자연스럽게 장바구니 예제를 따라치다 보니 자연스럽게 ArrayList 를 사용하게 됐다. ArrayList 에 대한 지금의 내 지식 수준은 1. 배열의 단점을 보완한 자료구조. 자동적으로 배열 길이가 늘어남. ㄴ 배열의 단점 : 한 번 생성하면 길이를 바꿀 수 없음. 2. new ArrayList(); 로 생성 시 초기 배열 길이 = 10. 3. 배열 중간에 삭제 등이 발생했을 때, 빈칸을 메우기 위해 값들을 이동시킴.(비용 큰 연산 발생) 정도이다. 배열에 값을 넣는 방법은 배열 길이를 설정하여 생성한 후, 초기화 int[] arr = new int[3]; int[] arr = {값, 값, 값} 초기화 방법_ex arr = { 1, 2, 3}; arr[0] = 1; arr[1] = 2; ..
2024.01.20 -
접근제어자_default
접근 제어자에는 public, protected, default, private 등이 있다고 들었다. public 은 모든 접근을 허용한다는 것도 알겠고, private가 인스턴스의 내부에서만 접근가능하게 한다는 것은 이제 알겠다. 그럼 default는 뭐고 protected는 뭘까? 우선 알게 모르게 사용되고 있던 default에 대해 알아보자. package access.scope_check; public class DefaultAccess { int a ; public DefaultAccess(int a) { this.a = a; } void showA() { System.out.println("a는 " + a); } } package access.scope_check; public class De..
2024.01.17