Java 164

2024.04.22 배열에 활용 (도서 관리 프로그램)

package basic.ch15; public class Book { private int totalPage; // 책의 페이지 private String title; // 책 제목 private String author; // 책 저자 // 생성자 public Book(String title, String author) { this.title = title; this.author = author; } // 생성자 오버로딩 public Book(String title, String author, int totalPage) { this(title, author); // 위의 생성자를 불러내는 방법 this.totalPage = totalPage; } // get 메서드 public int getTotal..

Java 2024.04.22

2024.04.22 배열에 대해서 알아 보자

자료 구조에 대한 개념을 알아 보자. 학습 목표 1. 자료 구조에 대한 개념을 알아 보자. 2. 배열에 대한 기본 개념을 알아 보자. 3. 배열에 길이와 인덱스의 길이. 4. 배열에 길이와 요소(elements) 자료 구조는 데이터를 어떻게 조직화하고 저장하며 접근할지를 결정하는 방법입니다. 자료 구조의 특징 효율성: 데이터를 효율적으로 저장, 검색, 삽입, 삭제할 수 있어야 합니다. 추상화: 데이터의 논리적인 구조와 물리적인 구현을 분리하여 추상적으로 정의해야 합니다. 재사용성: 여러 응용 프로그램에서 재사용할 수 있도록 일반적이고 유연한 구조여야 합니다. 자주 사용되는 자료 구조 배열(Array): 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 자료 구조입니다. List, Map, Se..

Java 2024.04.22

2024.04.19 static 메소드(함수)

학습 목표 1. static 메소드의 개념을 알자. 2. Method Area 와 heap 영역에 실행 시점의 이해 static 메서드(함수)는 특정 클래스의 인스턴스에 속하지 않고 클래스 자체에 속합니다. 따라서 객체를 생성하지 않고도 클래스 이름을 통해 직접적으로 호출할 수 있습니다. static 메서드는 클래스의 모든 인스턴스가 공유하며, 주로 유틸리티 기능이나 공통 동작을 제공하는 데 사용됩니다. 주요 특징 정리 객체 생성 없이 호출 가능 인스턴스 변수에 접근 불가 static 메서드는 객체의 인스턴스 변수에 직접적으로 접근할 수 없습니다. 왜냐하면 static 메서드는 객체가 생성되기 전에 호출될 수 있기 때문에 해당 객체의 상태를 알 수 없기 때문입니다. 시나리오 코드 1단계 package b..

Java 2024.04.19

2024.04.19 static 으로 숫자를 중복사용 하지 않는 방법

this 자기 자신에 메모리 주소를 참조 생성자 다른 생성자를 호출할 수 있다, 자신의 주소(참조값)을 반환 메모리 1. Method Area (static) 2. Stack 3. Heap 도전 문제 회사에 사원이 입사할때 마다 새로운 사번이 필요한 경우 package basic.ch12; public class Company { // 공통으로 참조하고 싶다. (static) // 어디든지 접근하게 한다 (public) public static String companyName = "그린컴퍼니"; static int empSerialNumber = 1000; } package basic.ch12; public class Employee { // 멤버 변수 (객체 마다 고유에 값을 가져야 한다.) priv..

Java 2024.04.19

2024.04.18 static 변수

학습 목표 1. static 변수에 대한 개념을 이해하자. static 변수는 프로그래밍에서 중요한 개념 중 하나입니다. 클래스 변수라고도 불리며, 클래스의 모든 인스턴스가 공유 할 수 있는 변수입니다. 즉, 객체가 동일한 static 변수의 값을 공유합니다. 왜 클래스 변수라고 불리는 걸까? 우리가 자바 프로그램을 실행을 하면 프로그램을 수행하기 위해 운영체제로부터 할당받는 메모리들이 존재 합니다. 그 특성에 따라 영역등이 존재 하는데 그 구성요소들은 아래와 같습니다. 메모리 영역(JVM Memory, Runtime Data Area) package basic.ch12; public class NumberPrintTest2 { public static void main(String[] args) { /..

Java 2024.04.18

2024.04.18 ver 0.0.1 Starcraft

단축키 생성자 설정 : Ctrl + Space + Enter Getter Setter 설정 : Alt + Shift + S --> getter 누른다. package starcraft.ver01; public class Zealot { // 멤버 변수 private String name; private int power; private int hp; // 생성자3 public Zealot(String name) { this.name = name; power = 5; hp = 80; } // end of Zealot() // getter , setter 설정 // 단축키 : alt + shif + s --> getter 누른다. // getter 메소드 MainTest 에서 보여주기 위해 public St..

Java 2024.04.18

2024.04.18 this 3가지 사용 방법

💡 학습 목표 this 3가지 사용 방법을 알자 this 란 1. 인스턴스(객체) 자신의 메모리를 가리킨다. 2. 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다. 3. 자신의 주소(참조값, 주소값) 를 반환 시킬 수 있다. package basic.ch11; public class Person { // this의 3가지 사용방법 // 1. this는 자기 자신을 가리킨다 (인스턴스의 주소) // 2. 생성자에 다른 생성자를 호출할 때 사용할 수 있다. // 3. (중요) 자신의 주소(참조값, 주소값)를 반환 시킬 수 있다. // 변수 --> private private String name; private int age; private String phone; private String gend..

Java 2024.04.18

2024.04.17 접근 제어 지시자

학습 목표 1. 접근 제어 지시자란? 2. 접근 제어 지시자에 종류를 알아 보자. 접근 제어자 - 정보 은닉, 캡슐화 객체의 각각의 상태값은 직접 변수를 통해서 변경하는 것이 아닌 기능(행위, 메서드)을 통해서 변경하게 설계 해야 한다. 접근 제어 지시자란? 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 접근 제어 지시자에 종류를 알아 보자. public —> 어디에서든 접근 가능 함. default —> 같은 패키지 내에서 접근 가능 protected ← 상속 배운 이후 private —> 해당 .java 안에서만 접근이 가능하다. 시나리오 코드 1 package basic.ch10; // 은행 public class Bank { // 속성 // 아무것..

Java 2024.04.17

2024.04.16 객체지향 패러다임이란

학습 목표 1. 객체지향 패러다임이란 뭘까? 2. 객체와 객체간에 상호작용 만들어 보기 1. 객체지향 패러다임이란 뭘까? 객체지향 패러다임(Object-Oriented Paradigm)은 소프트웨어를 설계하고 구현하는 방법론 중 하나로, 실세계의 객체를 모델링하여 소프트웨어의 복잡성을 관리하고 코드의 재사용성을 높이는 데 중점을 둡니다. 이 패러다임의 핵심은 프로그램을 상호작용하는 객체들의 집합으로 보고, 각 객체는 자신의 데이터와 행위를 갖는 독립적인 엔티티로 취급하는 것입니다. "엔티티(Entity)"는 특정 속성과 행동을 가진 독립적인 단위 또는 객체를 의미합니다. 객체지향 패러다임의 주요 원칙 캡슐화(Encapsulation): 객체는 데이터(변수)와 그 데이터를 조작하는 함수(메서드)를 하나로 ..

Java 2024.04.16

클래스, 인스턴스, 함수, 생성자, 오버로딩 정의

클래스란? 객체를 생성하기 위한 템플릿 또는 설계도 역할 클래스는 객체의 상태를 나타내는 필드(변수)와 객체의 행동을 정의하는 메서드로 구성 객체란? 현실세계에 있는 사물이나, 동물의 고유의 속성을 가지는 물리적, 추상적인 모든 대상이다. 각 객체는 속성(Properties)과 행동(Methods)을 가진다. 이들은 각각 객체의 상태와 객체가 수행할 수 있는 작업을 나타냄 객체의 속성(Properties) 속성은 객체의 특성, 상태, 데이터를 의미합니다. 예를 들어, '자동차'라는 객체가 있다면, 이 객체의 속성은 색상, 브랜드, 모델, 연식 등이 될 수 있습니다. 객체의 행동(Methods) 행동은 객체가 수행할 수 있는 작업이나 기능을 의미합니다. '자동차' 객체의 경우, 주행하기(drive), 멈추..

Java 2024.04.16