Back-end/Java (89) 썸네일형 리스트형 [Java - 기본] static 변수1 ✅ 인스턴스 내부 변수에 카운트 저장 ✏️ Data1 package static1; public class Data1 { public String name; public int count; public Data1(String name) { this.name = name; count++; } } 생성된 객체의 수를 세어야 한다. 따라서 객체가 생성될 때 마다 생성자를 통해 인스턴스의 멤버 변수인 count 값을 증가시킨다. ✏️ DataCountMain1 package static1; public class DataCountMain1 { public static void main(String[] args) { Data1 data1 = new Data1("A"); System.out.println("A co.. [Java - 기본] 스택 영역과 힙 영역 ✅ 스택 영역과 힙 영역 스택 영역과 힙 영역이 함께 사용되는 경우를 알아보자. ✏️ Data package memory; public class Data { private int value; public Data(int value) { this.value = value; } public int getValue() { return value; } } ✏️ JavaMemoryMain2 package memory; public class JavaMemoryMain2 { public static void main(String[] args) { System.out.println("main start"); method1(); System.out.println("main end"); } static void met.. [Java - 기본] 스택 영역 ✅ 스택 영역 ✏️ JavaMemoryMain1 package memory; public class JavaMemoryMain1 { public static void main(String[] args) { System.out.println("main start"); method1(10); System.out.println("main end"); } static void method1(int m1) { System.out.println("method1 start"); int cal = m1 * 2; method2(cal); System.out.println("method1 end"); } static void method2(int m2) { System.out.println("method2 start");.. [Java - 기본] 스택 영역 ✅ 스택 영역 ✏️ JavaMemoryMain1 package memory; public class JavaMemoryMain1 { public static void main(String[] args) { System.out.println("main start"); method1(10); System.out.println("main end"); } static void method1(int m1) { System.out.println("method1 start"); int cal = m1 * 2; method2(cal); System.out.println("method1 end"); } static void method2(int m2) { System.out.println("method2 start");.. [Java - 기본] 스택과 큐 자료 구조 ✅ 스택 (Stack) 📚 후입 선출(LIFO, Last In First Out) 나중에 넣은 것이 가장 먼저 나오는 것을 후입 선출이라 하고, 이런 자료 구조를 스택(Stack)이라 한다. 📚 스택(Stack) 자료 구조 다음과 같은 1, 2, 3 이름표가 붙은 블럭이 있다고 가정하자. 이 블럭을 다음과 같이 생긴 통에 넣는다고 생각해보자. 위쪽만 열려있기 때문에 위쪽으로 블럭을 넣고, 위쪽으로 블럭을 빼야 한다. 쉽게 이야기해서 넣는 곳과 빼는 곳이 같다. 블럭은 1 → 2 → 3 순서대로 넣을 수 있다. 이번에는 넣은 블럭을 빼자. 블럭을 빼려면 위에서부터 순서대로 빼야한다. 블럭은 3 → 2 → 1 순서로 뺄 수 있다. 정리하면 다음과 같다. 1(넣기) → 2(넣기) → 3(넣기) → 3(빼기) .. [Java - 기본] 자바 메모리 구조 ✅ 자바 메모리 구조 📚 자바 메모리 구조 - 비유 메서드 영역 : 클래스 정보를 보관한다. 이 클래스 정보가 붕어빵 틀이다. 스택 영역 : 실제 프로그램이 실행되는 영역이다. 메서드를 실행할 때 마다 하나씩 쌓인다. 힙 영역 : 객체(인스턴스)가 생성되는 영역이다. new 명령어를 사용하면 이 영역을 사용한다. 쉽게 이야기해서 붕어빵 틀로부터 생성된 붕어빵이 존재하는 공간이다. 참고로 배열도 이 영역에 생성된다. 📚 자바 메모리 구조 - 실제 메서드 영역 (Method Area) : 메서드 영역은 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 이 영역은 프로그램의 모든 영역에서 공유한다. 클래스 정보 : 클래스의 실행 코드(바이트 코드), 필드, 메서드와 생성자 코드 등 모든 실행 코드가 존재한.. [Java - 기본] Section6 - 문제와 풀이 ✅ 최대 카운터와 캡슐화 🔔 문제 설명 MaxCounter 클래스를 만드세요. 이 클래스는 최대값을 지정하고 최대값 까지만 값이 증가하는 기능을 제공합니다. int count : 내부에서 사용하는 숫자입니다. 초기값은 0입니다. int max : 최대값입니다. 생성자를 통해 입력합니다. increment() : 숫자를 하나 증가합니다. getCount() : 지금까지 증가한 값을 반환합니다. 🔔 요구 사항 접근 제어자를 사용해서 데이터를 캡슐화 하세요. 해당 클래스는 다른 패키지에서도 사용할 수 있어야 합니다. ✏️ 예시 코드 package access.ex; public class CounterMain { public static void main(String[] args) { MaxCounter co.. [Java - 기본] 캡슐화 ✅ 캡슐화 캡슐화(Encapsulation)는 객체 지향 프로그래밍의 중요한 개념 중 하나다. 캡슐화는 데이터와 해당 테이터를 처리하는 메서드를 하나로 묶어서 외부에서의 접근을 제한하는 것을 말한다. 캡슐화를 통해 데이터의 직접적인 변경을 방지하거나 제한할 수 있다. 캡슐화는 쉽게 이야기해서 속성과 기능을 하나로 묶고, 외부에 꼭 필요한 기능만 노출하고 나머지는 모두 내부로 숨기는 것이다. 데이터와 데이터를 처리하는 메서드를 하나로 모으는 것에 더 나아가 캡슐화를 안전하게 완성할 수 있게 해주는 장치가 바로 접근 제어자다. 그럼 어떤 것을 숨기고 어떤 것을 노출해야 하는지 알아보자. 1️⃣ 데이터를 숨겨라 객체에는 속성(데이터)과 기능(메서드)이 있다. 캡슐화에서 가장 필수로 숨겨야 하는 것은 속성(데이.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음