전체 글 119

[김영한_자바기본][9.상속] 상속과 메모리 구조(p.7-20)

0. 상속은 중복을 줄이고 기능을 확장한다. 1. 부모 클래스 / 자식 클래스들의 각 각의 객체가 존재하나 같은 참조값을 바라본다. 2. 오버라이딩은 상속에서만 사용되며, 부모의 메서드를 재정의하는 것이다. 3. 상속의 접근 제어자 protected이다. 4. super을 통해 부모를 참조하고, 생성자를 만든다. 생성자 호출은 부모→자식으로 진행된다. 1. 상속 이해 [p.3 / Car_부모 클래스 ] public class Car { public void move() { System.out.println("차를 이동합니다."); } } [p.3 / ElectircCar_자식 클래스] Car에서 상속받음 public class ElectricCar extends Car { public void charg..

[김영한_자바기본][8.final] finl 변수와 참조

네, 이해를 돕기 위해 더 간단한 예시를 제시해보겠습니다. ```java public class Example { int value; Example(int value) { this.value = value; } } public class Main { public static void main(String[] args) { // 예시 1: final 키워드가 없는 경우 Example ex1 = new Example(10); // ex1이라는 변수가 Example(10)을 가리킴 ex1 = new Example(20); // ex1 변수가 새로운 Example(20)을 가리킴 // 예시 2: final 키워드가 있는 경우 final Example ex2 = new Example(30); // ex2라는 변수..

카테고리 없음 2024.02.08

[김영한_자바기본][7. 자바 메모리 구조와 static] static 변수 및 메서드 이해 (p.15-31)

객체 인스턴스가 필요한 이유는 멤버 변수(인스턴스)변수를 사용하기 위함 static(정적 변수/클래스 변수)는 공통으로 사용되며, static변수/메서드는 클래스 자체에 접근해 사용 그러나 클래스 static메서드는 static 변수/메서드만 사용할 수 있고, 그 外는 static을 모두 사용 끝으로 main메서드 자체가 정적 메서드이기 static을 사용 1. Static 변수의 이해 [p.15 / Counter] count를 공용으로 사용 public class Counter { //메서드 영역 public int count; //멤버변수 -> 메서드 영역 // 객체로 사용될 경우 -> 힙영역 } - 클래스의 멤버 변수는 메서드 영역_클래스 정보에 속한다. - 클래스의 인스턴스마다 별도의 메모리 공간..

[김영한_자바기본][7. 자바 메모리 구조와 static] 자바 메모리 구조 이해 / 스택과 큐 자료 구조(p.1-12)

메서드 영역: 프로그램의 클래스 정보와 정적 변수를 저장하는 공간힙 영역: 동적으로 생성되는 객체들을 저장하는 공간스택 영역: 메서드 호출 및 파라미터를 임시로 저장하는 공간**메인 메서드 자체는 메서드 영역이나, 호출되고 실행될 때는 관련데이터가 스택에 저장된다.   [자바 메모리 구조 이해]ex) 커피 빨리 마시기 대회메서드 영역> 스택 영역  >힙 영역 1. 커피머신 - 상시 배치2. 테이블 - 상시 배치3. 감독관 - 상시 배치1. N번 참가자2. N번 참가자가 마시는 커피    (참가자가 생성하는 Sth)1. 커피 마신 시간 - 전광판 기록ex) 동작이 발생할때 마다 기록(실제) 클래스, 메서드, 생성자,         멤버변수(=필드), static변수 (실제) 파라미터 값, 지역변수, 호출자..

[김영한_자바기본][6. 접근 제어자] 배열 / 접근 제어자 함께 이해하기_문제풀이 쇼핑 카트(p.17)

패키지가 서로 다르다면 import를 선언하는 것이 중요하며, main 메서드가 없는 경우 매개변수로 대체하여 진행할 수 있다. 끝으로 return은 메서드 (전체) 실행 중간에서 빠져나가는 역할을 하고, break는 주로 반복문에서 사용되며, 반복을 중단하고 루프를 빠져나간다. 배열의 모든 요소를 점검해야할 때 break를 통해 빠져나가는 것은 추천하지 않는다. *문제풀이_쇼핑 카트 [p.17 / 실행 요청 결과] 장바구니 상품 출력 상품명 : 마늘, 합계 : 4000 상품명 : 상추, 합계 : 12000 전체 가격 합 : 16000 [p.17 / shoppingcart main class] public static void main(String[] args) { ShoppingCart cart = n..

[김영한_자바기본][2.기본형과 참조형] 상품 주문 시스템 개발_문제 풀이 해석 보충 (p.30-34)

중간 변수 없이 참조값 자체를 배열로 전달할 수 있으며, 배열을 매개변수로 받으면 배열 내 요소를 반복 출력할 수 있다. 또한 입력받은 값은 배열에 담기위한 작업을 수행하고, 기존 코드를 기반으로 응용하면 된다. *문제 풀이_상품 주문 시스템 개발 [p.30 / ProductOrder Class] public class ProductOrder { String productName; int price; int quantity; } >> 출력예시 상품명: 두부, 가격: 2000,수량: 2 상품명: 김치, 가격: 5000, 수량: 1 상품명: 콜라, 가격: 1500, 수량: 2 총 결제 금액: 12000 [p.31 / ProductOrderMain class] public static void main(Str..

[김영한_자바기본][3. 객체 지향 프로그래밍] 매서드 보충

`void`를 사용하는 경우는 메소드가 값을 반환하지 않고, 단순한 정보전달 작업을 수행할 때 사용한다. '다른 타입'을 사용하는 경우는 메소드가 어떤 값을 계산하거나 반환하여 호출자에게 제공할 때 사용한다. [void 타입 사용] public class ExampleVoid { int width; int height; // 메소드가 값을 반환하지 않음(void) void printRectangleInfo() { System.out.println("넓이: " + (width * height)); System.out.println("둘레 길이: " + (2 * (width + height))); if (width == height) { System.out.println("정사각형입니다."); } else ..

[김영한_자바기본][3. 객체 지향 프로그래밍] 클래스와 메서드 / (복습) 객체 이해(p.8-11)

두 코드 모두 원본 클래스 내의 데이터 값을 참조하는 특징이 있다. 따라서 클래스의 내부 상태가 메서드에 의해 변경되며, 이 변경은 메서드를 호출한 외부에서도 반영된다. 이런식으로 객체의 상태를 직접 조작할 수 있기 때문에 "참조"라는 용어를 사용하게 된다. 또한, 캡슐화는 "참조하는 것은 똑같지만 참조 위치를 불러오지 않게 코드를 작성한다"로 설명할 수 있다. 1. 클래스와 메서드(기능) 분리 = 절차 지향형 프로그래밍 메서드에 별도의 매개변수를 전달해 값을 조작하며, 데이터를 명시적으로 전달한다. 데이터와 연산(기능)이 별도로 존재하고, 코드는 이들을 조작하는데 집중한다. [p.8 / 클래스 ValueData] public class ValueData { //사탕 상자 int value; //사탕 개..

카테고리 없음 2024.02.04

[김영한_자바기본][2.기본형과 참조형] Null/NullPointerExcepiton 이해 (p.23-29)

null은 가리키는 대상이 없거나, 나중에 입력하고 싶을때 사용된다. nullPointerException은 null이 없는 곳(참조 주소가 없음)을 찾아갈 때 발생한다. NullPointerException 이해하기 [p.23 / Data 클래스] public class Data { int value; } [p.26 / 지역 변수 내 NullPointerException] NullPointerException 이해하기 public static void main(String[] args) { Data data = null; data.value = 10; //NullPointerException발생 = 주소가 없는 곳을 찾아감 System.out.println("data.value = " + data.va..

[김영한_자바기본][2.기본형과 참조형] (보충) 기본형 / 참조형 - 메서드, 문제 풀이 해석 (p.11-20, p.30-34)

▶ 기본형과 참조형 이해 https://zoooom-in.tistory.com/45 [김영한_자바기본][2.기본형과 참조형] 기본형 / 참조형 이해 (p.1-6) 참조값에 접근한다는 것은 설계도와 부지 위치에 접근해서 같이 공동 작업을 하는 것이다. 기본형은 실제 값이 저장되어 독립적으로 관리되지만, 참조형은 변수에는 객체 위치(참조값)가 저장 zoooom-in.tistory.com 1. 기본형 vs 참조형 - 메서드 호출 [p.11 / 기본형 메서드 호출] 각 스코프로 분리해서 보기 - void로 return받는 값이 없음 public static void main(String[] args) { int a = 10; System.out.println("메서드 호출 전 a = " + a); changeP..