TIL 68

TIL 2024-10-23 (숫자 야구 게임 - 3)

1 ) 게임 결과 저장 Display 만들기Lv_3 기능 구현.처음 생각. display 클래스를 만들어서 기능 구현.playNum 이라는 게임 진행 횟수 변수를 list에 저장 후.list를 반복문(for)을 통해 게임 기록 보기 구현문제 발생.하나의 클래스에 리스트 저장과 게임 기록 보기를 모두 넣으니 원하는대로 구현이 안됌list의 데이터들이 날아가는 현상 발생list에 저장 후 main 클래스에서 새로 불러오니 데이터가 날아감.게임 횟수 변수를 따로 가져오는 방법을 몰색결국 list를 저장하는 class를 따로 만들고, list 저장한 것을 보여주는 class 따로 구현.sava에는 게임 기록 횟수들을 저장하고, view는 실행 시 반복문을 실행하여 게임 기록 보기를 실행.public class ..

TIL/Java 2024.10.23

TIL 2024-10-22 (숫자 야구 게임 - 2)

1 ) 볼 처리하기숫자 야구 게임 볼 처리하기.저번 프로젝트 이어서 진행. ( 저번 진행은 스트라이크 처리)볼 처리하는 방법.처음 프로젝트를 보고 생각했던 방법이중for문을 돌려 스트라이크와 볼을 동시에 처리.but! 스트라이크 처리 메서드와 볼 처리 메서드를 따로 생성.볼만 처리하는 메서드 따로 생성.private int countBall(int input) { ArrayList list = new ArrayList(); int num = 0; while (input > 0) { // 입력 받은 숫자를 자릿 수 마다 하나씩 저장 list.add(input % 10); input /= 10; } for(..

TIL/Project 2024.10.22

TIL 2024-10-21 (숫자 야구 게임 - 1)

1 ) 숫자 야구 게임.이번 개인 프로젝트는 숫자 야구 게임을 만드는 것인데 위와 같은 조건을 충족해야한다.한 부분에서 되게 오랜 시간동안 막혀서 많이 진행하진 못했다. public class Baseballgame { private static int[] ran_num = new int[3]; Integer[] arr={1, 2, 3, 4, 5, 6, 7, 8, 9}; List arrlist =Arrays.asList(arr); public Baseballgame() { Collections.shuffle(arrlist); arrlist.toArray(arr); for(int i = 0; i 맨처음 Math의 Random 클래스를 사용하려고 하..

TIL/Project 2024.10.21

TIL 2024-10-18 (Java 종합만 문법)

1 ) 기본형 & 참조형 변수기본형 매개변수 : 메서드를 호출할 때 전달할 매개값으로 지정한 값을 메서드의 매개변수에 복사해서 전달 매개변수의 타입이 기본형일 때는 값 자체가 복사되어 넘어가기 때문에 매개값으로 지정된 변수의 원본 값이 변경되지 않음. 참조형 매개변수 : 메서드를 호출할 때 전달한 매개값으로 지정한 값의 주소를 매개변수에 복사해서 전달.매개변수를 참조형으로 선언하면 값이 저장된 곳의 원본 주소를 알 수 있기 때문에 값을 읽어 오는 것은 물론 변경 가능.메서드의 매개변수뿐만 아니라 반환 타입도 참조형이 될 수 있습니다.반환 타입이 참조형이라는 것은 반환하는 값의 타입이 "실제 값의 주소" 라는 의미 2 ) 인스턴스 멤버와 클래스 멤버 멤버 = 필드 + 메서드인스턴스 멤버 = 인스턴스 필드 ..

TIL/Java 2024.10.18

TIL 2024-10-16 (Java 종합만 문법)

1 ) 접근제어자. 제어자는  클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여해준다.접근 제어자 : public, protected, default, private그 외 제어자 : static, final, abstract하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있으나, 접근 제어자는 단 하나만 사용할 수 있다.  접근 제어자 : 멤버 또는 클래스에 사용, 외부에서 접근하지 못하도록 제한합니다.클래스, 멤버 변수, 메서드, 생성자에 사용되고, 지정되어 있지 않다면 default 입니다.public : 접근 제한이 전혀 없습니다.protected : 같은 패키지 내에서, 다른 패키지의 자손 클래스에서 접근이 가능.default : 같은 패키지 내에서만 접근 가능.private ..

TIL/Java 2024.10.16

TIL 2024-10-16 (Calculate Project)

1 ) 개요원래는 계산기 프로젝트를 진행하며 트러블 슈팅을 작성하려고 하였으나 트러블 슈팅을 적을만한 현상이 발생하지 않아서 회고록을 작성하게 되었다. 2 ) 회고이번 개인 과제를 진행하며...이번 개인 과제는 필수 과제 ( Lv.1 ~ Lv.2 )와 도전 과제 (Lv.3) 이렇게 두 가지로 나누어져 있다.먼저 필수 과제를 Lv.1을 진행하는 도중 문제는 아예 없었고 앞에 강의를 수강하였다면 쉽게 해결할 수 있다.Lv.2를 진행하던 도중 두 번의 문제가 발생.첫 번째 문제 : 반복문 실행 도중 계산 결과값만 반복됨.why? 숫자와 사칙연산 기호를 넣는 Scanner와 println을 반복문 안에 넣지 않음.코드를 한 번 실행한 후 결과값만 나오는 것을 확인 후 바로 수정.두 번째 문제 : Getter와 ..

TIL/Project 2024.10.16

TIL 2024-10-15 (Java 문법 종합반)

1 ) 프로세스와 쓰레드프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위실행 중인 프로그램 이라고 생각하면 된다.카카오톡, 브라우저, JAVA 프로그램 모두 프로세스로 실행.크롬 브라우저를 2개 띄우면 크롬 브라우저 프로세스도 2개 띄워진 것쓰레드 : 프로세스가 할당받은 자원을 이용하여 실행하는 단위프로세스 내에서 일하는 일꾼생성 : 프로세스가 작업 중인 프로그램에서 실행 요청이 들어오면 쓰레드(일꾼)을 만들어 명령을 처리하도록 한다.자원 : 프로세스 안에서 여러 쓰레드들이 있고, 쓰레드들은 실행을 위한 프로세스 내 주소 공간이나 메모리 공간(Heap)을 공유 받는다.쓰레드들은 각각 명령 처리를 위한 자신만의 메모리 공간(stack)을 할당 받는다.Java 쓰레드 : 프로그램을 실행하면 앞 서 배운..

TIL/Java 2024.10.15

TIL 2024-10-14 (Java 문법 종합반)

1 ) 오류 및 예외에 대한 이해.오류(Error) - 일반적으로 회복이 불가능한 문제시스템 레벨에서, 또는 주로 환경적인 이유로 발생코드의 문제로 발생하는 경우도 있지만, 일단 발생하는 경우 일반적으로 회복이 불가능하다.에러가 발생한 경우 우리는 어떠한 에러로 프로그램이 종료되었는지 확인하고 대응.예외(Exception) - 일반적으로 회복이 가능한 문제.회복이 가능하다는 전제는 우리가 "그 예외가 발생할 수 있다는 것을 인지하고, 대응했을 것 입니다."현실적으로 코드 레벨에서 할 수 있는 문제 상황에 대한 대응은 "예외 처리"에 속합니다.컴파일 에러(예외) - 문법적인 오류런타임 에러(예외) - 문법적인 오류가 아닌 프로그램 실행 도중 맞닥뜨리는 예외 2 ) 예외 발생 ( try-catch, fina..

TIL/Java 2024.10.14

TIL 2024-10-11 (Java 문법 종합반)

- 본 강의 내용 중에서 제일 중요하다고 생각하는 것들이 많다고 생각하여 내용이 많음.1 ) 설계도 ( 클래스 )객체지향 프로그래밍?필요한 부품을 만들고 하나씩 조립해서 하나의 완성된 프로그램을 만들 수 있는 기법.'객체지향 프로그래밍'객체란?세상에 존재하는 물체를 뜻하며 식별이 가능.소프트웨어의 객체들끼리 상호작용하는 것.객체들은 메서드를 통해 데이터를 주고 받을 수 있다.소프트웨어의 객체 간의 관계?사용관계, 포함관계, 상속관계특징.캡슐화 - 속성(필드)와 행위(메서드)를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것외부 객체에선 캡슐화된 내부 구조를 알 수 없기 때문에 노출시켜 준 필드 혹은 메서드를 통해 접근 할 수 있다.숨기는 이유는 외부 객체에서 해당 필드..

TIL/Java 2024.10.11

TIL 2024-10-10 (Java 문법 종합반)

1) 증감 연산자++ 또는 --를 붙이면 피연산자가 1 더해지거나 1 빼기가 된다.주의할 점. 피 연산자 뒤에 붙이냐, 앞에 붙이냐에 따라 연산순서가 달라진다.이처럼 대입 연산할 때 뿐만 아니라 연산을 직접할 때도 선/후 작용으로 나뉜다.public class w06 { public static void main(String[] args) { // 대입연산자에서 주의해야 할 점!! // ++, -- int a = 10; int b = 10; int val = ++a + b--; System.out.println(a); System.out.println(b); System.out.println(val)..

TIL/Java 2024.10.10