IT/JAVA 59

[JAVA] 객체배열 - 포켓몬 프로그램

package pokemon;import java.util.Arrays;import java.util.Random;import java.util.Scanner;/*플레이어(트레이너)가 있습니다.트레이너는 1명당 최대 6마리의 포켓몬을 가질수있습니다.트레이너는 이름을 가질수있습니다.이름이 없는 트레이너는 '무명'으로 설정됩니다.트레이너는 소유한 모든 포켓몬들의 상태를 출력할 수 있습니다.소유한 포켓몬의 체력이 0이라면 [기절]을 출력해주세요.트레이너는 자랑을 할 수 있습니다.자랑하기를 실행하면 레벨이 가장 높은 포켓몬을 출력해주세요.레벨이 가장 높은 포켓몬이 2마리 이상이라면 경험치가 높은 포켓몬이 출력됩니다.경험치가 동일하면 먼저 저장된 포켓몬이 출력됩니다.트레이너는 대결을 할 수 있습니다.야생의 포켓몬..

IT/JAVA 2025.01.16

Java Section 08 : 메서드

01 메서드■ 메서드 : 클래스 안에서 특정 기능을 수행하기 위해 코드들을 따로 하나의 블록으로 묶어 놓은 집합-> 같은 코드의 반복적 사용을 피하고, 코드의 중복성을 제거하고, 코드의 재사용성을 높일 수 있다.=> "모듈화"      가독성, 유지보수성이 좋아진다.접근제한자 반환타입 메서드이름() { // 기능을 수행할 코드 }- 메서드는 또 다른 메서드에서 호출되어 사용됨- 메서드는 클래스 안에서 선언되므로 메서드를 사용하기 위해서는 해당 클래스의 객체부터 생성해야 한다.Book b = new Book();b.read();Book이라는 클래스에 선언된 read() 라는 메서드를 호출하려면 다음과 같이 작성 02 매개변수와 return1) 매개변수 : 특정 기능을 수행하기 위한 메서드는 기능 수행..

IT/JAVA 2025.01.15

[DAY 11] 캡슐화, 상속, 오버라이딩, Object 클래스

[캡슐화]: 외부에서 건들 수 없도록 함. ■  객체 외부인 메인에서 객체 내부에 너무 쉽게 접근할 수 없도록 직접 접근을 막는다. -> 클래스에서 멤버변수의 접근제한자를 public에서 private로 바꾸면 에러 발생! 객체 정보에 접근할 수 없게 된다 . ==> "하이딩(정보은닉)"   ■ "접근자", "접근제한자" ---> 크게 보면 private(전부 가리기), public(전부 공개)  ■ main은 반드시 public이 원칙. ■  "getter"  : 캡슐화된 (=정보가 은닉된, 정보가 하이딩된)  멤버변수의 값을 가져오고 싶을 때 사용 1)  getter는 가져올 수 있는 메서드이기 때문에 반드시 public으로 선언 2) getXXX - (get멤버변수명) 으로 이름 작성. 3) 리턴값..

IT/JAVA 2025.01.14

Java Section 07 : 클래스

01 객체 지향 프로그래밍■ 객체 지향 프로그래밍(OOP) : 객체를 중심으로 프로그램 구조를 설계하고 프로그래밍하는 것 ■ 객체 : 상태를 표현할 수 있고, 우리가 행동으로 실행할 수 있는 모든 것.=> 자바는 객체를 기반으로 한 대표적인 프로그래밍 언어!  02 객체와 클래스 ■ 클래스 : 자바의 기본단위. 하나의 클래스를 통해 여러 객체를 생성/사용 ■ 구조 : Cat c = new Cat();// 클래스명 객체명 = new 클래스명();=> "new 연산자"를 이용해서 객체 생성- 클래스는 보통 하나의 소스 파일에 하나의 클래스를 선언하지만 파일의 이름과 동일한 클래스만 public을 사용하고, 다른 클래스는 public을 제외한다면 2개 이상의 클래스를 하나의 소스 파일에 작성할 수 있다. 03..

IT/JAVA 2025.01.14

[Day 10] 객체와 생성자

class Student {■ 클래스 선언 시 public을 사용하지 않는 이유 : 클래스는 파일 이름과 동일해야 하기 때문에, main함수가 있는 클래스가 클래스 이름으로 인식되도록 해야한다. 그러나, 다른 클래스를 선언하면서 public을 붙여버리면 그 클래스를 인식하고 오류가 나기 때문에 public을 빼줘야 한다.class Student { String name; int score; // 멤버변수 == 필드, 속성, attribute, property }멤버변수는 다양한 이름으로 불린다. 오늘은 비슷한 생성자를 간략하게 만들고자 하는 "코드 간략화"에 대해 배웠다.생성자에서의 코드 간략화는, 가장 인자가 많은 생성자만 구현하고, 나머지 생성자는 인자가 가장 많은 생성자를 재사용하는 것이다.==>..

IT/JAVA 2025.01.13

[Day 9] JAVA 객체

[객체지향프로그래밍(OOP)]---> 객체지향언어인 "JAVA" 를 사용 [객체지향언어] -> 메서드에게 주어(주체)가 생기는 것 [객체지향언어의 4가지 특징]1. 추상화 : 객체들의 공통되는 특징을 코딩할 수 있다! 객체들의 설계(틀)를 제공할 수 있다! 2. 정보은닉   1) 새로운 것을 개발할 때, 기존의 것을 그대로 활용할 수 있음    --> 기존의 것이 어떤 기능을 하는지만 알면 된다!    기존의 것에 대한 성분분석 X(알면 좋음)    2)  개발 이후 이슈가 발생했을 때, 접합부분만 검사하면 된다. --> 개발 시간 / 비용 단축 (함수를 쓰는 이유와 동일.) ==> 유지보수 용이 ★ 3. 상속 : 개발완료된 코드를 새로 개발하는 코드에 전부 가져올 수 있음 4.  다형성 : 함수(메서드..

IT/JAVA 2025.01.10

[JAVA] 배열, 함수, 삽입정렬

오늘은 배열의 값을 랜덤으로 생성하고 삽입정렬을 통해 오름차순/내림차순으로 정렬하는 프로그램을 작성하였다. [한글코딩]시작 안내문 함수() { 삽입정렬 프로그램을 시작합니다! 출력 } 자료형 선택 함수() { 스캐너 선언 입력 저장할 변수 선언 언제 올바르게 입력할지 모르므로 무한루프 { 자료형을 선택해주세요! (char(문자)/int(정수)) 라고 출력 (c 혹은 i 입력 >> ) 라고 출력 입력받기 만약(금지어 함수()) { 대문자를 소문자로 변환 탈출 } 다시 입력해주세요! } 입력값 리..

IT/JAVA 2025.01.08

Java Section 06 : 배열

01 배열의 정의와 생성 [배열]: 같은 자료형의 변수를 지정하여 여러 데이터를 저장할 수 있는 저장 공간■ 같은 자료형의 데이터를 하나의 변수에 저장해 처리하는 방법으로, 같은 자료형의 데이터들을 효율적으로 다룰 수 있다.  ■배열 선언 방법자료형[ ] 변수 이름;int [ ] arr;자료형 변수 이름[ ];int arr[ ]; ■ 배열은 여러 개의 데이터를 저장하기 위한 별도의 공간이 필요하므로, 배열을 선언만 하고 값을 부여하지 않으면, null이라는 값이 부여된다. ■ 배열은 생성과 동시에 데이터 자료형 별로 기본 값이 주어진다.정수형0실수형0.0문자형' '객체형null ■  배열은 값을 직접 변수에 저장하는 것이 아니라, 주소값이 저장되어 해당 주소를 통해 실제 데이터에 접근하는 참조형 변수이다..

IT/JAVA 2025.01.07

[Day 7] 함수

[함수의 3요소] ==> "메서드 시그니쳐"① input : 입력값, 인수, 인자, 매개변수, 파라미터, args② output : 출력값, 결과값, return, 리턴값, 반환값③ 기능 : 기능은 함수명을 통해 유추할 수 있어야 한다.(예를 들어, println(), main(), nextInt(), equals() 등.. 전부 메서드 명을 보면 함수의 기능이 유추가 가능하다.) 함수를 사용하는 이유는 유지보수에 용이한 코드를 작성하기 위해서!! 함수를 사용하면 코드를 줄일 수 있다.같은 코드가 여기저기 작성되면 유지보수하기에 좋지 않다. 유지보수에 용이한 코드는 ? 중복이 없는 코드를 말한다.  중복되는 코드를 "함수화" (= 모듈화, 컴포넌트화, 고도화, 성능최적화) 함으로써 1) 중복이 없는 코드..

IT/JAVA 2025.01.07

포켓몬 게임

오늘 만들어본 프로그램은 포켓몬 게임이다. 배열에 포켓몬을 저장하고 포켓몬 목록 출력, 포켓몬 시합 참여, 포켓몬 잡기 등을 할 수 있는 프로그램이다. [내가 작성하던...코드]Scanner sc = new Scanner(System.in); Random rand = new Random(); String[] poList = new String[3]; // 내 도감 int cnt = 0; // 아직 한마리도 안잡음 poList[0] = "꼬부기"; // 한마리 잡음 cnt++; int[] poLvList = new int[3]; //레벨이 저장된 배열 poLvList[0] = 5; String[] pokemon = new String[5]; // 다섯 마리 도감. 잡을 수 있는 포..

IT/JAVA 2025.01.06