개발/Java
-
클래스와 객체개발/Java 2022. 1. 6. 17:01
객체지향 프로그램 - 대상(객체)와의 관계, 협력 객체를 기반으로 하는 프로그래밍, 절차지향 프로그램 - 시간의 흐름대로 프로그래밍한다 class - 클래스 정의하기 (접근 제어자) class 이름{ 멤버 변수; 메서드; } 객체를 코드로 나타닌 것 class는 대부분 대문자로 시작 package 는 소문자로 시작 public을 가지는 클래스는 하나이고 그 클래스의 이름과 자바파일의 이름은 동일해야한다. 자바의 모든 코드는 class 내부에 위치. 변수, 메소드 이름은 소문자로 시작 단어 바뀔 때 마다 대문자 메소드 함수의 일종, 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수 4.함수 반환형 1.함수 이름 2.매개변수(함수의 수행을 위해 필요한 변수) 반환값의 자료형을 나타냄. 반환 값이 없을..
-
[Java] 조건문 반복문개발/Java 2022. 1. 4. 20:59
조건문 if 문 if - else 문 if - else if - else 문 if(조건식){ 수행문; } if(조건식){ 수행문; } else{ 수행문; } if(조건1) { 수행문1; } else if(조건2){ 수행문2; } else if(조건3){ 수행문3; } else { 수행문4; } 간단한 if - else 조건문은 조건 연산자로 구현할 수 있음 if(a>b) max = a; else max = b; max = (a > b) ? a : b; switch - case 문 -> int rank = 1; char medalColor; if(rank == 1){ medalColor = 'G'; } else if(rank == 2) { medalColor = 'S'; } else if(rank == 3..
-
[Java] 연산자개발/Java 2022. 1. 4. 19:45
대입 연산자 연산의 결과를 변수에 대입 int age = 24; //age변수에 24를 대입 부호 연산자 부호만 바꿔준다 산술 연산자 + - * / / 연산 시 형 변환에 유의해야 함 %(modular)는 나머지를 구하는 연산자 10/3 = 3...1 10%3 = 1 짝수 -> 값% ==0 홀수 -> 값% ==1 n의 배수 -> 값%n ==0 증가 감소 연산자 ++ 항의 값에 1을 더한다. val = ++num; //먼저 num값이 1 증가한 후 val 변수에 대입 val = num++; //val 변수에 기존 num값을 먼저 대입한 후 num 값 1 증가 -- 항의 값에 1을 뺀다. val = --num; //먼저 num값이 1 감소한 후 val 변수에 대입 val = num--; //val 변수에 기..
-
변수와 자료형개발/Java 2022. 1. 4. 16:28
변수 선언 시 유의점 변수의 이름은 알파벳, 숫자, _, $로 구성된다. 변수는 대소문자 구분한다. 변수의 이름을 정할 때는 변수의 역할에 어울리는, 의미 있는 이름을 지어야 한다. 변수의 이름은 숫자로 시작할 수 없고, 키워드도 변수의 이름으로 사용할 수 없다. 이름 사이에 공백이 있을 수 없다. byte: 1바이트 단위의 자료형 동영상, 음악 파일 등 실행파일의 자료를 처리 할 때 사용하기 좋은 자료형 short: 2바이트 단위의 자료형 주로 c/c++ 언어와의 호환 시 사용 int: 자바에서 사용하는 정수에 대한 기본 자료형 4바이트 단위의 자료형 프로그램에서 사용하는 모든 숫자(리터럴)은 기본적으로 int(4바이트)로 저장됨 32비트를 초과하는 숫자는 long형으로 처리해야 함 long: 8바이트..
-
상속개발/Java 2022. 1. 4. 15:01
class Cal{ public int sum(int v1, int v2){ return v1+v2; } } class Cal3 extends Cal{ //Cal을 상속하는 Cal3 public int minus(int v1, int v2){ return v1-v2; public int sum(int v1, int v2){ System.out.println("Cal3!!"); //sum을 덮어쓰기도 가능하다. overriding 부모가 가진 기능을 재정의 하는 것 return v1+v2; } } //overloading 같은 이름이지만 구조가 다르다. class Cal{ public int sum(int v1, int v2){ return v1+v2; } public int sum(int v1, int ..
-
static, 생성자와 this,개발/Java 2022. 1. 4. 14:19
static이 있는 건 class static이 없는 건 instance static이 존재하는 코드는 instance에서 원본인 class에 링크를 걸어 값을 가리킨다.(instance 안에 실존하지않음) class에 있는 코드는 서로 링크가 걸려있기에 한쪽에서 코드를 바꾸면 원본인 class와 복제본인 instance의 값이 모두 바뀐다. instance에서 class의 변수를 바꾸면 다른 모든 instance 를 포함해 모든 class의 값이 바뀐다 instance에서 instance의 변수를 바꾸면 해당 instance 내의 변수값만 바뀌고 다른 instance 변수 값은 바뀌지 않는다. constructor (생성자) 를 사용할 때는 class가 반드시 instance 이어야 한다. 생성자는 초..
-
객체 지향 프로그래밍개발/Java 2022. 1. 3. 21:01
절차 지향 프로그래밍 : 자바에서 메소드라 불리는 것을 이용하여 프로그램을 정리정돈 하는 것 객체 지향 프로그래밍 : Class 와 Instance 라는 구조화된 객체들을 성처럼 쌓아 프로그램을 만드는 기법. Class : 서로 연관된 Method와 Variable를 정리정돈 하여 객체화 한 것으로 일회성으로 사용. Instance : 객체화 된 Class 를 이용하여 서로 다른 Data를 가진 서로 다른 Method를 복제하여 사용 어떤 상태를 가지고 있는 클래스의 복제본을 변수에 담은 것. 데이터타입은 클래시의 이름이다. Math와 같은 클래스는 클래스 내부의 변수나 메소드를 바로 사용할 수 있지만, FileWriter와 같은 클래스는 인스턴스라는 복제본을 만들어 상태를 저장해야한다. import j..
-
boolean datatype, 조건문, 반복문, 배열개발/Java 2022. 1. 3. 16:54
boolean -true, false 조건문 if문의 소괄호 안에는 boolean타입이 와야 한다. 문자열 비교시 == 쓰면 안된다. and 조건문 if(조건 && 조건) { } else{ } == 이거는 같은 곳에 있냐 equals 이거는 같은 내용이냐 를 비교 원시데이터타입인 int, char, boolean,,, 일 때는 == 원시데이터타입이 아니면 equals() 사용 반복문 while 자유도가 높은 코드 몇번 반복 해 할때 사용하면 코드가 오염될 가능성이 높다. int i = 0; while(i