Java 164

2024.04.16 생성자(constructor)

학습 목표 1. 기본 생성자에 대해 알아보자. 2. 사용자 정의 생성자에 대해 알아보자. 3. 생성자 오버로딩이란 뭘까? 1. 기본 생성자에 대해 알아보자. 생성자(Constructor)는 클래스의 인스턴스, 즉 객체를 생성할 때 호출되는 특별한 유형의 메서드입니다. 객체의 초기화를 담당하며, 객체가 올바르게 사용될 수 있도록 필요한 값들을 설정하고, 필요한 초기화 코드를 실행합니다. 생성자의 주요 특징 생성자의 이름은 클래스의 이름과 동일해야 합니다. 생성자는 반환 타입을 가지지 않으며, 심지어 void 도 사용하지 않습니다. 객체 생성 시 new 키워드와 함께 자동으로 호출됩니다. 생성자는 기본 생성자와 사용자 정의 생성자로 구분할 수 있습니다. 기본 생성자 (default constructor) ●..

Java 2024.04.16

2024.04.16 인스턴스 문제 풀어보기

package basic.ch07; import basic.MainTest; import basic.practice.checkAdult; public class User { String id; String password; String name; String gender; int age; // 패스워드 체크 기능 만들어 보기 // 함수는 동사로 시작하는 것이 권장 사항 public boolean checkPassword(String inputPwd) { // 만약 나의 멤버 변수에 들어가 있는 // password 값과 외부에서 넣은 inputPwd 값이 // 같다면 true 변환 아니면 false 반환 하라 // == 주소값, 산술식 사용한다. // 문자열 비교는 equals 라는 메서드를 사용한다. ..

Java 2024.04.16

2024.04.15 RunTime Data Area

학습 목표 1. 프로그램이 실행되면 메모리를 할당 받는다. 2.인스턴스 생성과 힙 메모리. 3. String Pool 에 대해서 알아 보자. (7버전 이후 부터 Heap 안에 존재) 프로그램이 실행되면 메모리를 할당 받는다. 2.인스턴스 생성과 힙 메모리 인스턴스 (instance) ● 클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태(설계도면) 입니다. ● 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됩니다. ● 가령, 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됩니다. ● new 키워드와 생성자를 사용하여 인스턴스 생성 힙 메모리 ● 생성된 인스턴스는 동적 메모리(heap memory) 에 할당..

Java 2024.04.15

2024.04.15 메소드(method)와 변수

학습 목표 메소드와 함수에 차이점을 이해 한다. 변수의 위치에 따라 지역변수와 멤버 변수로 부를 수 있다. package basic.ch07; /* * 객체의 속성은 멤버 변수로 * 객체의 기능은 메서드로 구현 한다. */ public class Student { // 멤버 변수 // 특징 - 초기화 값을 넣지 않는다면 기본 값으로 초기화 된다. // new .. 생성자(); --> heap 메모리에 올라 갔을 시 값이 없다면 기본값으로 초기화 된다. int studentID; String studentName; String address; // 메서드 설계 하기 public void study() { System.out.println("학생이 공부를 합니다."); } // 메서드 설계 하기 public..

Java 2024.04.15

2024.04.15 함수와 만들기 {연습 문제}

인사말 출력하기 함수 이름: greet 입력: 이름(String) 출력: 없음 (콘솔에 직접 출력) 설명: 사용자의 이름을 입력받아 "안녕하세요, [이름]님!"이라고 콘솔에 출력하는 함수입니다. package basic.practice; public class greet { // 코드의 시작 public static void main(String[] args) { greet("과자"); } // end of main static void greet(String greet) { System.out.println("안녕하세요.["+greet +"]" +"님!"); } // end of greet } // end of class 제곱 계산하기 함수 이름: square 입력: 정수(int) 출력: 입력된 수의 ..

Java 2024.04.15

2024.04.15 함수와 메서드

학습 목표 함수와 메서드의 이해 함수 호출과 JVM 스택 메모리 함수란 뭘까? 함수(Function)는 프로그래밍에서 특정 작업을 수행하는 코드의 집합으로,입력을 받아 처리 후 결과를 반환할 수 있습니다. 함수는 코드의 재사용성을 높이고, 프로그램의 구조를 체계적으로 관리(유지보수)할 수 있게 도와줍니다. ● 하나의 기능을 수행하는 일련의 코드 묶음이다. ● 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 실행의 제어가 반환된다. (return) ● 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있다. 함수 설계하기 함수는 이름, 파마메터(매개 변수), 반환 값, 함수 몸체(body)로 구성 함수 사용하기( 사용하기는 모양 맞추기) public stat..

Java 2024.04.15

2024.04.15 객체에 값 할당하기

학습목표 1. 하나의 클래스 설계로 여러 개의 객체를 만들 수 있다 2. 우선 순위가 아주 높은 . 연산자의 이해 앞에서 우리는 클래스를 설계하고 메모리에 올라갈 수 있도록 하는 연습을 했습니다. 실습 코드 package basic.ch05; public class Warrior { // 속성 String name; // 이름 double height; // 키 double weight; // 무게 String color; int health; int attackPower; // 공격력 int defensePower; // 방어력 } package basic.ch05; public class WarriorMainTest { // 메인 함수(코드의 시작점) --> JVM Stack public static..

Java 2024.04.15

2024.04.15 객체지향 핵심 클래스와 객체

학습 목표 1. 클래스에 대해서 알아 봅시다. 2. 클래스를 인스턴스화 시켜 봅시다(객체로 만들기) 객체(Object)란 상태와 행위를 가지고 있고 프로그래밍 세상에 맞게 모델링을 하기 위해서는 추상화 과정을 진행해야 된다 라는 것을 배웠습니다. 클래스에 대해서 알아 봅시다. (설계도면) 자바에서 클래스(Class)는 객체를 생성하기 위한 템플릿 또는 설계도 역할을 합니다. 클래스는 객체의 상태를 나타내는 필드(변수)와 객체의 행동을 정의하는 메서드(함수)로 구성됩니다. 간단히 말해, 클래스는 데이터와 그 데이터를 조작하는 코드를 묶어 놓은 컨테이너와 같습니다. package basic.ch05; // 클래스란? // 객체를 만들기 전 설계도면 입니다. public class Student { Strin..

Java 2024.04.15

2024.04.15 Java 객체지향 핵심 OOP(객체지향)

OOP(객체지향) 란? 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍 패러다임 중 하나로, 실세계의 사물 또는 실제로 존재 가능한 것을 객체로 모델링하여 프로그램을 구성하는 방법입니다. 객체(Object)란? 각 객체는 속성(Properties)과 행동(Methods)을 가지며, 이들은 각각 객체의 상태와 객체가 수행할 수 있는 작업을 나타냅니다. 객체의 속성(Properties) 속성은 객체의 특성, 상태, 데이터를 의미합니다. 예를 들어, '자동차'라는 객체가 있다면, 이 객체의 속성은 색상, 브랜드, 모델, 연식 등이 될 수 있습니다. 객체의 행동(Methods) 행동은 객체가 수행할 수 있는 작업이나 기능을 의미합니다. '자동차' 객체의 경우, 주행하..

Java 2024.04.15