💡 학습 목표여기 까지 배웠던 부분에 핵심 개념들을 활용해 봅시다. package starcraft.ver01;public class Zealot { private String name; private int power; private int hp; public Zealot(String name) { this.name = name; power = 5; hp = 80; } // getter public String getName() { return name; } public int getPower() { return power; } public int getHp() { return hp; } // 질럿이 저글링을 공격합니다. pu..
Java
💡 학습 목표this 3가지 사용 방법을 알자this 란인스턴스(객체) 자신의 메모리를 가리킨다.생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다.자신의 주소(참조값, 주소값) 를 반환 시킬 수 있다. package basic.ch11;public class Person { // this의 3가지 사용방법 // 1. this는 자기 자신을 가리킨다(인스턴스의 주소) // 2. 생성자에 다른 생성자를 호출할 때 사용할 수 있다. // 3. 자신의 주소(참조값, 주소값)을 반환 시킬 수 있다. // 변수 --> private private String name; private int age; private String phone; private Stri..
💡 학습 목표접근 제어 지시자란?접근 제어 지시자에 종류를 알아 보자. 1. 접근 제어 지시자란?클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 2. 접근 제어 지시자에 종류를 알아 보자.public —> 어디에서든 접근 가능 함.default —> 같은 패키지 내에서 접근 가능protected ← 상속 배운 이후private —> 해당 .java 안에서만 접근이 가능하다.시나리오 코드 1package basic.ch10;// 은행public class Bank { // 아무것도 지정하지 않으면 default 제어 지시자이다. // private 클래스 안에서만 사용이 가능하다. String nam..
💡 학습 목표객체지향 패러다임이란 뭘까?객체와 객체간에 상호작용 만들어 보기 1. 객체지향 패러다임이란 뭘까?객체지향 패러다임(Object-Oriented Paradigm)은 소프트웨어를 설계하고 구현하는 방법론 중 하나로, 실세계의 객체를 모델링하여 소프트웨어의 복잡성을 관리하고 코드의 재사용성을 높이는 데 중점을 둡니다. 이 패러다임의 핵심은 프로그램을 상호작용하는 객체들의 집합으로 보고, 각 객체는 자신의 데이터와 행위를 갖는 독립적인 엔티티로 취급하는 것입니다.💡 "엔티티(Entity)"는 특정 속성과 행동을 가진 독립적인 단위 또는 객체를 의미합니다. 객체지향 패러다임의 주요 원칙 캡슐화(Encapsulation): 객체는 데이터(변수)와 그 데..
💡 학습 목표기본 생성자에 대해 알아보자.사용자 정의 생성자에 대해 알아보자.생성자 오버로딩이란 뭘까? 1. 기본 생성자에 대해 알아보자.생성자(Constructor)는 클래스의 인스턴스, 즉 객체를 생성할 때 호출되는 특별한 유형의 메서드입니다. 객체의 초기화를 담당하며, 객체가 올바르게 사용될 수 있도록 필요한 값들을 설정하고, 필요한 초기화 코드를 실행합니다. 생성자의 주요 특징생성자의 이름은 클래스의 이름과 동일해야 합니다.생성자는 반환 타입을 가지지 않으며, 심지어 void 도 사용하지 않습니다.객체 생성 시 new 키워드와 함께 자동으로 호출됩니다.생성자는 기본 생성자와 사용자 정의 생성자로 구분할 수 있습니다. 기본 생성자 (default cons..
💡 학습 목표프로그램이 실행되면 메모리를 할당 받는다.인스턴스 생성과 힙 메모리.String Pool 에 대해서 알아보자.(7버전 이후 부터 Heap 안에 존재) 1. 프로그램이 실행되면 메모리를 할당 받는다. 2.인스턴스 생성과 힙 메모리인스턴스 (instance)클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태(설계도면) 입니다.실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됩니다.가령, 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됩니다.new 키워드와 생성자를 사용하여 인스턴스 생성 힙 메모리생성된 인스턴스는 동적 메모리(heap memo..
💡 학습 목표 메소드와 함수에 차이점을 이해 한다. 변수의 위치에 따라 지역변수와 멤버 변수로 부를 수 있다.package basic.ch07;/** * 객체의 속성은 멤버 변수로 * 객체의 기능은 메서드로 구현한다. */public class Student { // 멤버 변수 // 특징 - 초기화 값을 넣지 않는다면 기본 값으로 초기화 된다. // new .. 생성자(); --> heap 메모리에 올라 갔을 시 값이 없다면 기본값으로 초기화 된다. int studentID; String studentName; String address; // 메서드 설계하기 public void study() { System.out.println("학생이 공부..
💡 조별 도전 과제 입니다. 조원 모두 해결할 수 있도록 합시다. 함수 설계 후 호출 까지 확인하세요. 인사말 출력하기함수 이름: greet입력: 이름(String)출력: 없음 (콘솔에 직접 출력)설명: 사용자의 이름을 입력받아 "안녕하세요, [이름]님!"이라고 콘솔에 출력하는 함수입니다.package basic.ch06;import java.util.Scanner;public class Greet { public static void main(String[] args) { Scanner sc = new Scanner(System.in); greet(sc.nextLine()); } static void greet(String ..
💡 학습 목표 함수와 메서드의 이해 함수 호출과 JVM 스택 메모리 함수란 뭘까? 함수(Function)는 프로그래밍에서 특정 작업을 수행하는 코드의 집합으로, 입력을 받아 처리 후 결과를 반환할 수 있습니다. 함수는 코드의 재사용성을 높이고, 프로그램의 구조를 체계적으로 관리(유지보수)할 수 있게 도와줍니다. 하나의 기능을 수행하는 일련의 코드 묶음이다.구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 실행의 제어가 반환된다.함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있다. 함수 설계하기함수는 이름, 파마메터(매개 변수), 반환 값, 함수 몸체(body)로 구성 함수 사용하기( 사용하기는 모양 ..
💡 학습목표하나의 클래스 설계로 여러 개의 객체를 만들 수 있다우선 순위가 아주 높은 . 연산자의 이해 앞에서 우리는 클래스를 설계하고 메모리에 올라갈 수 있도록 하는 연습을 했습니다.💡 new 키워드와 데이타입(); —> 생성자 1. 하나의 클래스 설계로 어려개의 객체를 만들 수 있다 실습 코드package basic.ch05;public class Warrior { // 속성 String name; double height; double weight; String color; int health; int attackPower; // 공격력 int defense; // 방어력 } package basic.ch05..