[Java] this(), this
·
Java
생성자 this() : 생성자에서 다른 생성자 호출 (코드 중복 제거 위해 호출) 1. 조건 - 클래스이름 대신 this 사용 - 다른 생성자 호출시 꼭 첫줄에서만 가능! Test(String sb){ score=91; Test(sb, "가", 88); //에러. Test대신 this써야함, 첫줄x } 2. 예 public class Test { String subject; String type; int score; //1. Test(){ this("수학", "가", 85); //3. 호출 }; //2. Test(String subject){ this(subject, "가", 85); //3. 호출 } //3. Test(String subject,String type,int score){ this.sub..
[Java] 생성자(Constructor)
·
Java
생성자(Constructor): 객체 생성시마다  딱 한번 호출되는 특수한 메서드(인스턴스 초기화 메서드)-주로 객체 생성시 인스턴스 변수 초기화에 사용 or 객체 생성시 실행할 작업 있을 때 사용-모든 클래스는 반드시 하나 이상의 생성자가 있어야 함. (클래스 만들때 기본생정자 넣는 습관 들이기!!)-클래스 내에 생성자가 없으면 컴파일러가 기본 생성자를 만들어 줌.-단, 개발자가 하나 이상의 생성자를 선언하면 컴파일러는 기본 생성자를 만들지 않음class Test{ Test(){ //기본생성자(매개변수 없는 생성자) ... } Test(int num){ //매개변수 있는 생성자 ... } →생성자 오버로딩}Test t = new Test(); ..
[Java] 오버로딩(overloading)
·
Java
오버로딩(overloading): 한 클래스 안에 같은 이름의 메서드 여러개 정의 하는 것 (new)cf)오버라이딩(change) 참고: https://bbbpp.tistory.com/81 (매개변수 다르지만 같은 작업 할 때)void println()void println(char a)void println(char[] a)void println(double a)void println(int a)void println(Object a)void println(String a) [ 성립 조건 ]1. 메서드 이름 같을 것.2. 매개변수의 개수나 타입 다를 것. (구분위해)-반환타입 영향X 달라도 상관X [ 오버로딩 예 ]int minus(int a, int b){ return a-b; }int minus(i..
[Java] 클래스 메서드(static 메서드)와 인스턴스 메서드
·
Java
클래스 메서드(static 메서드)와 인스턴스 메서드 [ static 메서드 ]-객체 생성없이 '클래스이름.메서드명()'으로 호출-인스턴스 멤버(iv,im)와 관련없는 작업하는 메서드-메서드 내 인스턴스 변수(iv) 사용불가iv 사용x[ 인스턴스 메서드 ]-객체 생성 후 '참조변수.메서드명()'으로 호출-인스턴스 멤버(iv,im)와 관련있는 작업하는 메서드-메서드 내 인스턴스 변수(iv) 사용가능iv 사용o *변수 : 공통 값 유지 -> static 붙임메서드 : 인스턴스 변수,메서드 사용하지 않음 ->static 고려  클래스 멤버와 인스턴스 멤버간 호출  public class Test { int iv; //인스턴스 변수 static int cv; //클래스 변수 void i..
[Java] 변수와 메서드
·
Java
변수[ 선언위치따른 변수 종류 ]class Variables{//클래스영역 int iv; //인스턴스 변수 static int cv; //클래스,static 변수 void method(){//메서드영역 int lv = 1; //지역 변수 }}변수 종류 선언 위치생성시기인스턴스 변수 (iv)클래스 영역인스턴스 생성됐을 때 -> 생성 후 사용가능클래스 변수 (cv)클래스 영역클래스 메모리에 올라갈 때 -> 생성없이 사용가능지역 변수 (lv)클래스 영역 이외 영역(메서드,생성자,초기화 블럭 내부)변수 선언문 수행됐을 때  [ 클래스변수(cv)와 인스턴스 변수(iv) ]▸클래스 변수(cv)  공통 속성, static 붙임   ex) 카드 폭,높이▸인스턴스 변수..
[Java] 객체 지향 언어, 클래스와 객체
·
Java
객체 지향 언어 : 기존 프로그래밍 언어 + 새로운 규칙(객체 지향 개념) 추가 코드 재사용성↑ 유지보수↑ 중복코드X Java는 OOP 언어 중 하나 OOP (Object Oriented Programming, 객체 지향 프로그래밍) 핵심개념 나중 자세히 1.캡슐화 2. 상속 3. 추상화 4. 다형성★ 클래스와 객체 -클래스(class) : 객체 정의한 것(설계도) ex) tv 설계도 -객체(Object) : 눈에 보이는 사물 또는 개념 (설계도 보고 만든 사물,개념) ex) tv -클래스 용도 : 객체 생성위해 -객체 용도 : 객체 지닌 속성(변수),기능(메서드) 쓰기위해 ex) tv = 속성(색상,볼륨,채널) → 변수 + 기능(onoff, 볼륨업다운,채널변경) → 메서드 *클래스 또 다른 정의 1. ..
[Java] 배열 비교, 출력, 복사, 정렬 (Arrays)
·
Java
[ Arrays클래스 메서드로 배열 다루기 ] 1. 배열 비교, 출력 - equals(), toString() int[] arr = {1,2,3,4}; System.out.println(Arrays.toString(arr)); //[1, 2, 3, 4] int[][] arr2 = {{1,2},{3,4}}; System.out.println(Arrays.deepToString(arr2)); //[[1, 2], [3, 4]] //2차원 배열은 deep 붙임 String[][] str = {{"가","나"},{"다","라"}}; String[][] str2 = {{"가","나"},{"다","라"}}; System.out.println(Arrays.equals(str, str2)); //false System...
[Java] String 배열
·
Java
1. String배열 선언, 생성, 초기화 1. String[] str = new String[3]; str[0] = "hi"; str[1] = "hello"; str[2] = "안녕"; 2.String[] str2 = {"hi","hello","안녕"}; *변수타입별 기본값 boolean - false 정수형 - 0 실수형 - 0.0 참조형 - null String 클래스,메서드에 관해선 나중 자세히 여기선 간단하게만..! 2. String 클래스 String 클래스 = char[] + 메서드(기능) String객체는 내용변경 x 읽기만o String str = "a"; str = str + "b"; //변경x 새 문자열 생성o System.out.println(str); //"ab" 2. String..
[Java] 제어문(조건문, 반복문,분기문)
·
Java
조건문 : 조건 만족할 때만 {} 수행 ( if, switch ) 반복문 : 조건 만족하는 동안 {} 수행 ( for, while ) [ 조건문 ] - 범위를 판단 할 경우 : if - 같다를 판단 할 경우 : if, switch 1. if문 if(조건식){ 조건식이 true일 때 실행하는 코드 } 2.if-else문 if(조건식){ 조건식이 true일 때 실행하는 코드 }else { 조건식이 false일 때 실행하는 코드 } 3.중첩 if문 if(조건식1) { 조건식1 가 true 일 때 실행 }else if(조건식 2){ 조건식2 가 true 일 때 실행 }else { 그 외 나머지 일 때 실행 } 4.switch문 switch(정수식 or 문자열) { case 값1: 결과 값1일 시 수행될 문장; ..
[Java] 연산자
·
Java
1. 대입 연산자( = ) -우측 피연산자를 좌측에 대입 -우선순위 맨 마지막 i+2=i //error 2=i+1 //error 좌측은 저장공간(변수,배열) 와야함 2. 산술 연산자( + - * / % ) 1) + 2) - 3) * 4) / : 나누기 5) % : 나누기의 나머지 3. 비교 연산자 ( > = = : ≥ 'B' → 65>66 → false - a == b : 20 == 20 → true - a != b : 20 != 20 → false - primitive type끼리는 == 잘 작동 - reference type의 == 는 불안전 +)문자열 비교는 ==대신 equals()를 써주자 HTML 삽입 미리보기할 수 없는 소스 4. 논리 연산자 ( && || !) - boolean 타입 끼리 연..