분류 전체보기 111

static 변수 개념

static 키워드의 이해 클래스 변수 라고도 한다. 클래스의 모든 인스턴스가 공유하는 변수다. 여러 객체들이 동일한 변수를 공유할 필요가 있을 때 사용한다. ex 은행의 변호표 package com.static1;// 클래스 설계public class NumberPrinter { /* static 변수, static 메서드는 객체 생성 없이도 클래스 이름으로 바로 접근 가능하다. 왜? Heap 메모리에 들어가기 위해서는 new 키워드와 생성자를 호출한 뒤 동작하지만 Method area 영역은 프로그램을 실행시키면 바로 메모리를 할당받아 실행되는 영역이다. */ //멤버 변수 - NumberPrinter에 소속된 변수 private..

Java 2025.04.17

메서드를 활용한 아기 밥주기 게임

아기에게 밥과 물을 주면서 잠을 관리하는 프로그램을 짜봤다. 클래스에서 아기의 속성을 정의하고아기의 행동을 구현했다.package com.my;// Baby 클래스 설계public class Baby1 { //속성 private String name; private int hunger; private int thirst; private int sleepy; //생성자 public Baby1(String babyNm, int babyHn, int babyTs, int babySp) { name = babyNm; hunger = babyHn; thirst = babyTs; sleepy = babySp; } //..

Java 2025.04.16

getter, setter메서드와 this 키워드

private 접근제어지시자로 접근이 제한된 멤버변수에 접근하라면 getter, setter 메서드를 쓸 수 있어야 한다. this 키워드를 활용하면 이 과정을 포함해 클래스 설계를 쉽게 할 수 있다. this 키워드의 역할은1.자신의 주소를 나타낸다.2.생성자에서 또 다른 생성자를 호출 3.자신의 주소값을 반환한다.package com.this1;//Person 클래스 설계public class Person { /* this의 3가지 사용법 1. 자기 자신의 주소를 가리킨다. 2. 생성자에서 다른 생성자를 호출한다. 3. 자신의 주소값을 반환시킨다. 먼저 1번 용법을 알아본다 - 문법, 이유 */ //속성 private String name; pr..

Java 2025.04.16

접근 제어 지시자 Accecc Modifier

접근제어지시자 Access Modifier 1. public 어디서나 2. default 패키지 내부 3. private 클래스 내부-----------------------------------pretected... 상속개념이해필요 접근 제어 지시자 그래서 왜 사용하는가? 만약 후임개발자가 실수로 메서드를 통해 코드를 작성하지 않고 바로 멤버변수에 접근해서 수정하는 코드를 작성했다면? 실수할 수 있는 가능성이 있다. 만약 balance 변수에 대한 외부접근을 차단한다면? 외부에서는 오직 deposit, withdraw 메서드로만 접근 가능 이같은 처리를 캡슐화 라고도 한다.----------------------------------- 추가로private 접근제어지시자로 접근이 제한된 멤버변수에 접근하..

Java 2025.04.16

생성자를 호출해 클래스 상호작용

. (쩜) 연산자 활용해 클래스 간 상호작용을 연습했다. B클래스로 연결되는 A클래스 설계package com.dot;// A 클래스 설계 측public class A { B b; // 생성자 - 인스턴스화할때 수행하는 코드 public A() { System.out.println("1단계 A 생성자 호출"); b = new B(); // B 객체 생성 } public void callA() { System.out.println("1단계 callA() 메서드 호출"); System.out.println("===== ===== ===== ===== ====="); }}//end of class C클래스로 연결되는 B클래스 ..

Java 2025.04.16

메서드를 개념을 활용한 커피머신 프로그램

커피머신 클래스 설계package com.method;/*메서드란?객체에 소속된 함수로클래스의 상태(데이터)를 활용하거나객체와 관련된 작업을 처리할때 사용한다. */public class CoffeeMachine { //속성 int water; //물의 양 int coffee; //커피의 양 //생성자 //메서드 public void refillWater(int amount) { // 물 채우기 if (amount > 0) { water += amount; System.out.println(amount + "ml 물을 채웠다"); System.out.println("남은 물:" + water); ..

Java 2025.04.16

생성자와 메서드를 활용해 class 사이 상호작용을 해본다

Bus, SubwayStudent 클래스를 각각 작성했다. Student가 대중교통을 이용하면 잔고가 줄고대중교통은 잔고가 늘어나는 프로그램을 만들어본다. 먼저 Bus 클래스 설계 클래스를 설계할때는 속성 / 생성자 / 메서드 순으로 하면 된다.package ch10; // 클래스 설계 측public class Bus { int busNo; int busCount; int busincome; // 생성자 public Bus(int bno) { busNo = bno; // 객체 생성시 가장 먼저 실행 } // 메서드 - 승객을 태워보자 public void take(int pay) { busincome += p..

Java 2025.04.15

클래스 설계와 생성자의 활용

생성자 (constructor) 기본 생성자 / 사용자 정의 생성자 "필수적인 값을 넣도록 강제한다." 클래스의 인스턴스(객체)를 생성할때 호출되는 정해진 유형의 메서드이다. 객체가 생성될 때 가장 먼저 수행되는 코드이기도 하다. ! 기본 생성자 컴파일러가 자동으로 생성해준다. ! 사용자 정의 생성자사용자가 필요에 의해 직접 생성자코드를 넣어주는 것을 가리킨다. ! 생성자 오버로딩이란 생성자가 여러개인 상황을 가리킨다. package ch08;public class Dog { String name; //사용자 정의 생성자 public Dog(String s) { name = s; } /* 생성자는 객체가 만들어질 때 제일 먼저 수행하는 코드가 된..

Java 2025.04.15

함수와 메서드 - 메서드

메서드란 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수를 말한다. 메서드는 멤버의 기능이기 대문에 멤버 메서드라고도 한다. 메서드가 함수와 다른점은 멤버 변수를 활용해서 기능을 구현한다는 점이다. 개발자라면 함수와 메서드를 구분해서 부르자. package ch07;// 클래스 설계 측public class Student { // 속성(상태)을 가질 수 있다. int studentId; String studentName; String studentAdress; // 행위를 정의해보자 public void study() { System.out.println("===== 공부중 ====="); System.out.println(studentN..

Java 2025.04.15

함수와 메서드 - 함수

함수는 특정 작업을 수행하는 명령어의 집합 입력을 받아 처리한 뒤 결과값을 반환 코드 재사용성을 높이고 프로그램의 구조를 체계적으로 관리 함수예제덧셈을 하는 함수를 설계해보자package ch07;public class Function1 { /* 함수를 만들어보자 = 함수를 설계하는 코드 함수를 만들려면 어떻게 코드를 만들지 머리속에 들어있어야 한다. 이를테면 두개의 정수값을 받아, 덧셈 연산을 하고, 그 결과를 반환하는 함수 int return 키워드를 쓰지 않아도 된다. }} // end of class 함수를 호출해서 계산을 수행해본다.package ch07;// 코드 실행 측public class FunctionMainTest1 { // main..

Java 2025.04.15