728x90 {Java}26 21.08.05{코딩일기} 스레드 상속 및 인자란 무엇인가 | 매개변수 및 전역변수 지역변수 차이 | java.lang.Thread클래스 간단한 스레드를 기존에 만들어진 내가 만든 게임에 추가하고 실행성공했다. 처음엔 Thread클래스에 확장을 수기로 추가해야하는줄 알았으나이미 빌트인으로 java.lang패키지안에 Thread클래스가 생성되어 있었다. 기존에 생성된 클래스에extends되도록 설정변경했다. # Runnable 인터페이스 필요성 기존 클래스들은 대부분 부모클래스로부터 확장된 클래스들이라 runnable인터페이스를 활용할 필요성을 느꼈다. #필드란 무엇인가 필드와 생성자를 스레드 만들면서 개념정리하게 되었다. 필드는 보통 클래스안, 메소드 밖에서 독립적으로 호출되서 사용할 수 있는 변수이다. # java 인자 정의 및 매개변수 상관관계 클래스메소드에 ()괄호안에 들어가는 input값, 즉 인수값 변수가 인자이다. 여기서 인자는.. 2021. 8. 5. 21.08.04{코딩일기} 빨간에러쥬르륵 java StackOverflowError 해결 내가 만든 게임 발표20분 직전 갑자기 특정 객체를 실행시키자마자 StackOverflowError 에러가 길게 떴다. init()을 시도하면 빨간줄이 수십줄... # 사건정의 다시봐도 심장쫄깃하다.. 이게 만약 내가 CTO이고 신규게임 론칭 발표당일직전 벌어진 에러라면 미친다.. 일단 문제원인부터 말하자면 부모Ground클래스에 생성된 자식클래스 ArcadeStoneMountain객체 호출이 원인이었다. 부모클래스에서는 자식클래스를 호출할 수 없는게 원칙 그래서 해당 호출을 종료시켜줘야했으나 그러지 못했기 때문에 벌어진 헤프닝. # 문제정의 검색해서 찾아보니 StackOverflowError 에러는 재귀호출 에러였는데, 예를들면 ArcadeGround 클래스를 호출하는 ArcadeStoneMountai.. 2021. 8. 4. 21.08.02{코딩일기} java package 는 무엇이며, 용도는 무엇인가? 클래스 설계를 완료하고, 코딩으로 구현하는 과정에서 문득 신기한걸 발견했다. 왜 package명이 달라도 클래스간의 상속엔 아무영향을 안줄수 있는걸까? 위에 대한 질문에 대한 답이 바로 java package속성안에 있었다. 우리가 선물을 포장하면 포장지로 선물을 감싸거나 선물상자에 다시 선물을 포장했던 기억이 나는가? 또는 마트에서 엄마아빠랑 장보러갔다가 나무박스상자에 장본 상품들을 한꺼번에 담고 박스테이프로 칭칭 감쌌던 기억이 있을것이다. 포장지와 포장상자는 무엇인가? 포장하는 비닐이 포장지라면 포장하는 상자가 포장상자다. 왜 사용하는가? 포장지로 선물을 포장하면 상대방한테 선물줄때 더 이뻐 보이기 때문이다. 마트에서 장본 물건들을 따로 구분해서 포장상자에 담고 싶을 때도 사용한다. 무거운건 무거운거.. 2021. 8. 2. 21.07.30 {코딩일기} Do while을 쉽게 작성하는 접근법 | 논리명제 Do while구문에 뜬금없이 왠 논리명제냐고? 의아할 수 있다. 그냥 바로 문제정의부터 하겠다. while문이 여러분이 원하는대로 조건이 잘 안만들어진다면? Do 구문안의 논리가 정말로 내가 원하는 결과값의 반댓값이 확실한지 체크해야한다. 아 이게 무슨말이냐? int countNum = 0; do { countNume++; ... } while (countNUm < 5) System.out.println("로그인시도횟수를 "+countNum+" 번 초과했습니다. 가까운 영업점에 방문하셔서 로그인제한을 해제하시길 바랍니다."); // 은행 계좌 비번 까먹으면 흔히 볼 수 있는 안내메세지를 예로들었다. 다 아는 구문이지마 다시 적어보았다. 위 코드의 의도는 countNum에 5가 출력되는것이다. 근데 만약.. 2021. 7. 31. 21.07.30{코딩일기} java break는 언제 사용하나? coninue와 다른점 break문이 무엇인가? 그리고 이걸 왜 사용하는걸까? 사전적정의 고유명사정의 특징 사용이유 break는 부수다, 깨뜨리다 java에선 반복제어문 예를들면 1~5까지 돌아가는 for반복문이있다고 가정하자. 근데 i = 3일때 break한다고 작성하면 운영체제가 break를 만나자마자 바로 for문을 종료하는 특징이 있다. 특정조건이 참이라면 그순간 바로 반복문 종료하기 위해서 사용한다. 이와 달리 continue문은 무엇이고 사용용도는 무엇인가? 사전적정의 고유명사정의 특징 사용이유 continue는 특정 활동이나 프로세스속에 추친하다, 계속하여 진술하다라는 뜻이 있다. (continue는 단순히 지속하다가 아니다..) java에서는 특정반복문제어문 앞서 break에서 i=3일때 반복문 바로 종료했다면 .. 2021. 7. 30. 21.07.30{코딩일기} <java> try catch문과 while 조건문 문법 try catch문이 무엇인가? 그리고 이걸 왜 사용하는걸까? 사전적정의 고유명사정의 사용이유 try는 시도하다 catch는 알아차리다 java에서 try와 catch는 예외처리구문 실사례를 예로들면 모든구문에 문자타입이 매칭이 안될때 예외처리를 해주고 싶어서 근데 지금 고민이 모든 입력값을 숫자로 받을것인가 말것인가에 대한 고민이 있다. do while구문을 사용할때는 사용자가 입력하는 값을 숫자로 받아야 while문 작성시 반복조건이 작성이 가능하기 때문이다. String값을 조건으로 걸 수가 없다. 만약 String으로 걸다간 아래와 같이 에러가 뜬다. String controlKey = "right" do { Scanner input = new Scanner(System.in); String _i.. 2021. 7. 30. 21.07.30{코딩일기} java 예외처리 InputMismatchException 예시코드 자바예외처리를 오늘에서야 드디어 제대로 사용해볼 수 있었다 결론부터 말하자면, 수많은 예외가 있지만 나는 오늘 InputMismatchException를 import해서 적용시켜보았다. 문제상황 해결책 사용자가 숫자가 아닌 문자를 입력했다. try { .... 생략 .. } catch (InputMismatchException e) { ..... } # 예제 코드 int inputCheckedKey = 0; int inputLimitTimes = 0; try { do { Scanner input1 = new Scanner(System.in); System.out.println("꧁༺RunDino 아케이드로 초대합니다.༻꧂"); System.out.println(" 접속을 원하시면 1을 입력해주세요"); .. 2021. 7. 30. 21.07.26{코딩일기} java String대신 StringBuffer를 사용하면 좋은점 java String을 배열 타입으로 객체에 담아서 데이터를 넣으려고 하면 여간 인덱스가 헷갈리고 불편할 수 가 없다.. 이렇게 안하는 방법이 있나? YEEEEEEEES 있고말고! 우선 이전에 나는 아래 처럼 지저분하게 코드를 짰다. // TODO Auto-generated method stub //Scanner inputSize = new Scanner (System.in); //System.out.println("Type your figure's wish size(limit 1~5) : "); //int wishSize = inputSize.nextInt(); // //inputSize.close(); //String[][] rhombus = {{" ","*"," "}, {"*","*","*"}, {.. 2021. 7. 26. 21.07.26{코딩일기} math.floor란? java 실수 자료형 정수형변환 메소드 math 아래 3가지는 기본적으로 실수 소수점을 내림/올림/반올림 해서 정수.0 형태의 double을 반환한다. floor -> 내림 (바닥으로 floor) ceil -> 올림 (천장으로 ceiling) round -> 반올림 (반올림 round) #내림이란? 숫자를 지정한 자릿수로 무조건 올린다 #Math.floor() 메소드 입력된 값 인자 값보다 작거나 같은 가장 큰 정수 값을 double 형으로 반환 Copyright ⓒ 2021 by bluevulpe All Contents cannot be copied without permission. 2021. 7. 26. 21.07.18{코딩일기} 컴퓨터가 참이라고 확신하게 만드는 근거조작방법 도대체 컴퓨터는 무슨근거로 명제를 참이라고 판단하는건가? 도대체 모가그렇게 불만인 우리 사랑스러운 java엔진은 내가 정성스럽게 만든 명제를 참이라고 못읽구 내가 입력한 데이터를 else처리 해버리는거뉘? java왈 : 사람이문제다. ㅋㅋㅋ결론부터 말하면 String타입을 선언하고 같은 값을 부여했더라도 서로의 주소값이 달라서 벌어진 헤프닝이었다. 주소는 뭐고 스트링 타입선언은 뭐냐? #스트링타입 이란? 우선 스트링 타입은 String you = 'true'; 요로콤 you라는 변수를 String타입으로 선언하는 걸 말하고, 주소는 뭐냐? 이건 String변수를 생성할때 주소를 메모리에 할당하는 방법 2가지를 설명해야한다. 지금 여러분 앞에 냄비가 여러개가 쌓여있다고 상상해보자. 엄마가 푸짐한 저녁한끼를.. 2021. 7. 19. 이전 1 2 3 다음 728x90