Java - 기본기30 17. 변수 선언위치에 따른 변수의 종류 : 클래스 변수 && 인스턴스 변수 1. 선언 위치 변수는 선언 위치에 따라 다음과 같이 2가지로 구분할 수 있다. { int iv; // 인스턴스 변수 static int cv; // 클래스 변수(static 변수, 공유 변수) void method(){ int lv = 0; // 인스턴스 변수 int dmg; // 모든 캐릭터의 데미지는 서로 달라요! => 인스턴스 변수 static int LV; // 히오스에서는 같은 팀은 모두 같은 레벨입니다ㅋㅋ => 클래스 변수 static int skill_num; // 모든 캐릭터는 5개의 스킬을 갖습니다 => 클래스 변수 } 이제 활용해서 코드로 짜보자 HOS.game_name = "히오스 최고!"; // 클래스 변수는 객체 생성 없이 사용 가능 System.out.println(HOS.ga.. Java - 기본기 2021. 10. 26. 16. 객체 배열, 클래스의 정의 1. 객체 배열 우선 기억해야하는 것은 배열의 0번째 인덱스의 주소값과 배열 자체의 시작 주소값은 동일!!! 하다는 것 int[] array = new int[3]; for(int i=0; i 나처럼 귀차니즘 레벨이 만땅이 사람이라면 너무나도 고마운 기능이다. 2-2. 사용자 정의 타입이란? 클래스를 통해서 사용자 자신이 원하는 타입을 직접 만들 수 있다(여기서 타입==클래스 라고 생각하면 됨) 자바에서는 기본으로 제공되는 굉장히 많은 패키지와 그 안에 있는 클래스들이 있지만, 결국 내가 찾는 것이 없는 경우도 많다. 예를 들어 내가 멀티플레이 게임을 만들려고 할 때 게임 안에서 캐릭터를 생성하면 사람의 캐릭터 닉네임과 레벨 움직임이 있어야 한다. String name = "젤다"; int Lv = "1.. Java - 기본기 2021. 10. 22. 15. 객체 지향 언어란? 클래스와 객체(활용편) : 클래스와 객체 활용한 게임 만들기 1. 하나의 소스파일에 여러 클래스 작성하기 자바 소스 파일 안에는 2개 이상의 클래스를 넣을 수 있음. 이때 소스 파일 명과 public class의 "클래스명" 이 일치하여야 한다. 단!! public class 가 없는 경우 소스 파일 이름은 해당 소스 파일 내 어떤 클래스의 이름으로 해도 무방하다. 비고 자바 소스 파일 명 자바 클래스 명 설명 올바른 예 Hello2.java public class Hello2{} class Hello3 public class 가 있는 경우 소스파일의 이름은 반드시 public class 와 일치해야한다. Hello3.java class Hello2{} class Hello3{} public class가 하나도 없는 경우 소스파일의 이름은 어떤 클래스명으로해도 무.. Java - 기본기 2021. 10. 19. 14. 객체 지향 언어란? 클래스와 객체(개념편) 1. 객체 지향 언어 '80년 초 소프트웨어의 위기 - 기존 언어(ex. C언어) 빠른 변화를 못 쫓아감 → 해결책으로 객체지향 언어를 도입(절차적 → 객체지향) 코드의 재사용성이 높고, 유지보수가 용이, 중복 코드 제거 객체지향 언어 = 기존 프로그래밍 언어 + 객체지향 개념 & 규칙 2. 객체 지향 언어(OOP) : 4대 핵심 개념(자세한 내용은 다음에 좀 더 작성해두도록 하겠다) ※ 참고로 아래 4대 개념은 엄청!!!! 중요함과 동시에 정보처리기사 필기 시험 단골 출제 문제입니다. 캡슐화 상속 추상화 다형성 3. 객체 지향 개념 공부 방법(공부 커리큘럼) 개념과 규칙들을 당장 이해하는 것보다는 우선 외워서 기억하기 객체 지향의 기초 개념 : 자바의 정석 기초편 6장 & 7장 - 클래스와 객체, 객체.. Java - 기본기 2021. 10. 17. 13. String 클래스, Arrays로 배열 다루기(feat. String 클래스 매서드, Arrays 클래스 매서드) 1. String 클래스 String 클래스는 사실 char[] 와 메서드(기능)를 결합한 것 즉, 문자 배열 char[] 에다가 어떠한 메서드(기능)을 결합한 형태라고 생각하면 된다. String 클래스는 내용을 변경할 수 없다(read only) : 읽기만 가능 String a = "a"; String b = "b"; a = a + b 이때 a 는 어떻게 될까? a = ab 로 기존의 문자열이 바뀌는 것이 아닌 새로운 "ab" 라는 문자열이 생성 & 저장된다 2-1. String 클래스의 주요 매서드 메서드 설명 char : charAt(int index) 문자열에서 해당 위치(index)에 있는 문자를 반환한다. int : length() 문자열의 길이를 반환한다. String : substring.. Java - 기본기 2021. 10. 14. 12. 2차원 배열 기초 & 활용(feat. String 값 비교하기 & 2차원 배열을 활용한 문제 만들기) 1. 2차원 배열 사용하기 2차원 배열은 테이블 형태의 데이터를 저장하기 위한 배열(아래 그림 참고) 2차원 배열은 1차원 배열이 여러 개 모여있는 형태라고 생각하면 됨. 3차원 배열은 이러한 2차원 배열이 여러개 모여있는 형태(3차원 이상 잘 안 쓰임) 수학에서 사용했던 '함수'를 생각하면 오히려 이해하기 편하다. 참고로 num[i][j] 일때 num[row][column] => i 는 행, y 좌표 , column 은 열, x 좌표 아래 테이블 같은 형태는 비교 국어 영어 수학 1 100 100 100 2 20 20 20 3 30 30 30 요런 식의 배열로 변함 행 index : 0 ~ 3 (함수 y 좌표) 열 index : 0 ~ 3 (함수 x 좌표) score[0][0] score[0][1] s.. Java - 기본기 2021. 10. 14. 11. String 배열의 선언과 생성, 커맨드라인에서 입력받기(feat. 가위바위보 게임) 1. String 배열의 생성&선언 String 배열은 기본형이 아닌 참조형!! 이 때문에 기본값에 'null'이 들어감 String[] name = new String[3]; // 3개의 문자열을 담을 수 있는 배열을 생성 name = {"anne", "pray", "Reon"} String 활용해서 가위바위보 게임 만들기!! 내가 만들 가위바위보 게임의 조건은 다음과 같다. 조건 1. while, switch 사용하기 : 1,2,3으로 입력받고 99로 끝내기(if 문 두번 사용하지 않기) 조건 2. String 배열 사용하기 조건 3. Buffer 사용해서 입력받기(출력은 println 사용하기) 여기서 좀 더 고치면 출력도 bufferedWriter 로 하는 방법과 코드를 줄이는 방법 정도? imp.. Java - 기본기 2021. 10. 13. 10. 배열 다루기 활용편 (2) : 총합, 평균, 섞기, 로또 만들기 이번에는 따로 설명보다는 배열을 활용한 각종 코드에 대해서 공부하였다. 아래에는 해당 코드+설명을 함께 적도록 하겠다. 1. 배열 요소들의 총합&평균 구하기 static void Ex1() { int sum = 0; float average = 0f; int[] score = {100, 88, 90, 36, 80}; for(int i=0; i Java - 기본기 2021. 10. 11. 9. 배열 다루기 기초편 (1) : 배열의 생성, 선언, 인덱스 1. 배열이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 즉 int 형 10개의 변수를 하나의 묶음으로 다루거나 String 형 10개의 변수를 하나의 묶음으로 다루는 것이 가능 int[] score = new int[5]; // int 값 5 개를 저장 할 수 있는 score 배열 생성 !!! 배열에는 자동으로 인덱스 == 저장 공간이 만들어짐. 이때 인덱스 번호는 1이 아닌 0부터 시작! 2. 배열의 생성과 선언 배열의 선언 - 배열을 다루기 위해 참조 변수의 선언 ⇒ 선언 방법은 아래 2가지 // 1. 배열 선언 타입[] 변수이름; // 이쪽을 보통 더 선호 타입 변수이름[]; // 2. 배열 선언+길이 지정 int[] score; // int 타입의 배열을 다루기 위한 참조변수 .. Java - 기본기 2021. 10. 8. 8. 조건문과 반복문 기초&활용(3) - break, contiune, 이름붙은 반복문(feat. 미니 게임 만들기 & 제곱근, 로그 계산기) 1. break문 자신이 포함된 하나의 반복문을 벗어난다. 아래 처럼 사용 가능 중요한 점은 for 문은 무한 반복 할 때 사용되는 true 가 생략 가능하나, while 문은 true 가 생략 불가능하다. static void breakk() { int i=0, sum=0; while(true) { // 여기서는 true 생략 불가 if(sum > 100) break; i++; sum+=i; } // end of while System.out.println("i = " + i); System.out.println("sum = " + sum); } static void forr() { int i=0, sum=0; for(;;) { // for 문은 true 생략 가능, 혹은 ;true; 사용 if(sum.. Java - 기본기 2021. 10. 4. 7. 조건문과 반복문 기초&활용 (2) : for, while, do ~ while 1. 임의의 수 만들기 : 난수 생성하기 Math.random() : 0.0 과 1.0 사이의 임의의 double값을 반환 각 변에 내가 원하는 범위에 따른 숫자를 곱한다 ⇒ 이 부분은 내가 구하고자 하는 '개별값의 갯수' 라고 생각해도 됨 0 ~ 50까지 범위 안의 값을 구하기위해서는 *50 ⇒ Math.random()50, 이때 출력되는 값은 정확히는 0 이상 50 미만, 즉 0 ~ 49, 50 개의 수 0 ~ 3 까지 범위 안의 값을 구하기 위해서는 *3 ⇒ Math.random()**3, 이때 출력되는 값은 정확히는 0 이상 3미만, 즉 0 ~ 2, 3개의 수 이후 정수를 얻기 위해서는 실수를 int 형으로 형 변환이 필요하다. 만약 특정한 숫자부터 시작하고 싶다면, 해당 숫자를 더해주어야 한다... Java - 기본기 2021. 10. 1. 6. 조건문과 반복문 기초&활용 (1) 1. 조건문과 반복문 ⇒ 제어문 flow control statement 조건문은 조건을 만족할 때만 {} 를 수행(0~1 번) 단, 조건문의 경우는 조건을 만족하지 않는다면 한번도 수행되지 않을 수 있음 반복문은 조건은 만족하는 동안 {}를 수행(0~n 번) 2-1) IF 문 조건식이 참true 일때 괄호 {} 안의 문장들을 수행한다. if(조건식){ // 조건식이 참 true 일 때 수행될 문장 } ################## 예시 if(score > 90){ System.out.println("A 입니다"); } 2-2) 조건식의 다양한 예 조건식 조건식이 참일 조건 90 Java - 기본기 2021. 9. 27. 이전 1 2 3 다음 728x90 반응형