Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

java14

7. final final에 대한 설명은 아래짤이 최고라고 생각한다. final은 말 그대로 '최종' 이라는 뜻이다. 클래스,변수,메서드 등 다양한 곳에 붙일 수 있는 modifier이다. 아래 예제를 통해서 final에 대해 알아보자. public final class FinalPrac { public static final int MAX_USERS = 9999; public final int memberFinal = 100; public final int value; public ConstructInit(int value) { this.value = value; } public final void finalMethod() { System.out.println("난 못바꿈"); } } 상수(constant) 먼저 자바.. 2024. 3. 7.
6. static 정적 자바 메모리 구조 프로세스의 메모리 구조를 설명할 때 코드, 데이터, 힙, 스택 영역이 있다는 설명을 많이 들었다. 자바에서도 유사한데, 데이터 영역을 메서드 영역이라고 칭한다. (그냥 같다 생각하면 됨) CODE AREA 프로그램의 코드가 저장되는 영역(read-only) 프로그램이 실행될 때 메모리의 하단에서부터 적재된다. METHOD (CLASS) AREA static 이해를 위해 중요한 영역 프로그램의 실행에 필요한 공통 데이터를 관리하는 영역으로, 세부적으로는 아래와 같은 영역이 있다. 1. 클래스 정보(Class Information) 클래스의 실행을 위해 필요한 바이트코드(for jvm에 의한 클래스 로딩)가 저장되는 영역 클래스의 이름, 상위 클래스 및 인터페이스, 멤버 변수 및 메서드 정.. 2024. 3. 7.
4. 생성자 Construct Swift를 공부하면서도 만났던 생성자. Java에서도 거의 유사했다. 다만 Swift에서는 Initializer였다면 Java에서는 Construct로 부른다는 것? 생성자는 말 그대로 객체를 생성하는데 도움을 주는 메서드이다. 정확히는 객체를 생성한 직후에 값 초기화를 할 수 있도록 하는 특별한 메서드이다. public class Student { String name; int age; int grade; } 위와 같은 클래스가 있다. Student student1 = new Student(); //멤버 변수 초기값 설정 student1.name = "user1"; student1.age = 20; student1.grade = 90; java는 객체를 생성해주고 초기화를 하지 않으면, 멤버의 타입에.. 2024. 3. 2.
2. 기본형과 참조형 (Primitive, Reference), NullPointerException 기본형(Primitive Type) 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입(리터럴 값 or 복사한 값) 정수형: byte, short, int, long 실수형: float, double 논리형: boolean 문자형: char * String은 대문자 카멜케이스를 사용하는 것에서 유추할 수 있겠지만, Class이기 때문에 참조형이지만, java에서 new 연산자 없이 기본 데이터 타입처럼 사용하도록 해주는 특별한 클래스이다. 그렇기 때문에 내부 메서드가 다양한 것이다. (new 키워드를 통해 문자열을 생성하면 힙에 각각 생성된다 -> 문자열 상수 풀을 활용하지 못함!) 연산 - 변수 자체에 값이 있기 때문에 연산이 가능하다. 변수 대입 - 기본형의 경우 변수에 들어 있는 실제 값 자체를 복.. 2024. 2. 12.
9. 메서드(method) " 재사용성, 유지보수 " input -> function -> output 메서드 선언과 본문 public static int add(int a, int b) { System.out.println(a + "+" + b + "연산 수행"); int sum = a + b; System.out.println("결과1 출력 = " + sum); return (a + b); } 제어자(Modifier) - public - 접근제어자 (public 수준은 다른 클래스에서 호출 가능함) - static - 정적 메서드 (데이터 영역에 저장, 한 번만 초기화) 반환 타입(Return Type) 메서드 호출 후 반환하는 데이터 타입 지정. 반환값이 없는 경우 void - int - 반환 타입 메서드 이름(Method .. 2024. 2. 10.
8. 배열 Array 지금까지는 단순한 변수에 값을 할당하는 방식으로 데이터를 관리했었다. 하지만 여러 비슷한 변수들이 필요한 경우, 변수의 양이 굉장히 많은 경우 비효율적인 상황이 생길 수 있다. public class Array1 { public static void main(String[] args) { int student1 = 90; int student2 = 80; int student3 = 70; int student4 = 60; int student5 = 50; //학생을 한 명 더 추가한다면 int student6 = 40; //반복문으로 해결할 수 없나? for(int i=1; i = maxProducts) { System.out.println("더 이상 상품을 등록할 수 없습니다."); continue; .. 2024. 2. 2.