DAY 09 : 상속, 다형성, 업캐스팅, 다운 캐스팅
2022. 1. 6. 02:25
WEB/JAVA
- 상속 (inheritance) 기존에 선언된 클래스의 필드를 다른 클래스에서 사용하고자 할 때 클래스들을 만들다 보니 공통 요소가 보여서 부모로 묶은 후 상속시켜 주어서 사용하고자 할 때 class A { A의 필드 } class B extends A { // 관계성만 정의 B의 필드 } B b = new B(); // b객체는 실제로는 A의 필드 B의 필드 둘 다 가지고 있다. A : 부모 클래스, 상위 클래스, 슈퍼 클래스, 기반 클래스 B : 자식 클래스, 하위 클래스, 서브 클래스, 파생 클래스 SuperCar extends Car을 하면 SuperCar 클래스에는 부모 클래스 인 Car필드와 SuperCar 필드가 존재한다. 따라서 mycar 객체는 Car 클래스의 변수, 메소드와 Super..
DAY 08 : this, 클래스 배열, 정적 필드
2022. 1. 4. 03:57
WEB/JAVA
- this 클래스 선언 시 내부적으로 선언되어 생성된다. 클래스 필드에서 한 번의 메소드 선언으로 여러 객체를 다루어야 한다. 만약 메소드 내에서 그 객체의 필드를 사용하고자 할 때 어떤 객체의 필드인지를 알 수 없다. 따라서 객체에 마침표를 찍거나, 객체를 생성하게 되면 그 접근 중인 객체를 this라는 변수가 받는다. 결과적으로 클래스 선언시 this. 필드명으로 접근하면 여러 객체도 하나의 메소드에서 구분하여 다룰 수 있게 된다. this : 객체 구별용 / 현재 접근 중인 객체 이전에 momcar.brand로 각 각 값을 대입해주던 것과는 다르게 new Car("K7", "White", 7000)으로 해주면 Car클래스에서 찾지를 못한다. 따라서 Car(String brand ,...)으로 생성..
DAY 07 : 저장 기억 부류, 클래스, 생성자
2022. 1. 4. 03:23
WEB/JAVA
- Storage Class (저장 기억 부류) 지역 변수 : 메소드 내부에 선언된 변수 전역 변수 : 클래스 내부에 혹은 메소드 외부에 선언된 변수 정적 변수 : static이 붙은 변수 종류 지역 변수 전역 변수 정적 변수 초기화 직접 자동 자동 생명주기 {} (중괄호) 내에서 프로그램 종료 전 프로그램 종료 전 보안성 상 중 하 여기서 보안성은 접근하기 어려운 정도를 의미한다. 여기서 static변수는 static이 붙은 메소드에서 사용이 가능하다. 다른 메소드에서는 사용할 수 없다. 그리고 static이 붙은 메소드 내부에서는 일반 전역 변수를 사용할 수 없다. 메소드 내에서 선언된 지역변수는 전역 변수보다 우선시되기 때문에 이름이 같은 변수가 있다면, 지역변수를 우선으로 사용한다. - stati..
DAY 06 : 2차원 배열, 메소드
2022. 1. 4. 00:21
WEB/JAVA
- 2차원 배열 배열 안에 배열이 있는 형태 - 2차원 배열의 선언 자료형[][] 배열명 = { {값1, 값2, ...} {값3, 값4, ...} }; 자료형[][] 배열명 = new [행수][열수]; // 열 수는 생략가능 정방 배열 : 각 행마다 칸수 (열의 개수)가 모두 같은 배열 비정방 배열 : 각 행마다 칸수 (열의 개수)가 다른 배열 - 배열의 길이 배열명.length : 옆에.(점) 찍힌 공간에 연결된 공간의 수를 의미한다. 먼저 arrData에 주소가 할당되고, 그 안에 200,300 번지로 주소가 할당된 공간이 생긴다. 그리고 이 200, 300 번지의 공간에 3개의 공간이 생긴다. 그래서 20이라는 숫자를 찾아가고 싶으면 100번지에 생긴 200번지의 첫 번째로 찾아가면된다. - 2중 ..
DAY 05 : 반복문, 배열
2022. 1. 3. 01:27
WEB/JAVA
- 반복문 특정한 코드나 행위를 반복해야 할 때 사용하는 문장 조건에 의한 반복문 while, do ~ while 횟수에 의한 반복문 for - while문 조건에 의한 반복문 while (조건식) { 조건식 연산결과가 참이면 반복수행 } // -> 조건식을 연산하고 false이면 탈출한다. - do ~ while 문 조건에 의한 반복문 while문과 동일하지만 무조건 한 번은 실행한다. do { 조건식의 연산결과 참이면 반복 수행 } while (조건식); // -> 조건식을 연산하고 탈출한다. while문으로 Quiz 출력하기! Scanner sc = new Scanner(System.in); int choice = 0; while (choice != 3) { System.out.println("다음..
DAY 04 : 조건식, 삼항 연산자, 조건문
2022. 1. 3. 00:58
WEB/JAVA
- 조건식 조건을 제시하는 식 결과가 참, 거짓 단 두 가지로만 나오는 식 관계 연산자에 의해 만들어진다. 여기서 관계 연산자는 아래의 글에 나와있다. 2022.01.03 - [WEB/JAVA] - DAY 03 : 입력, 형 변환, 연산자 DAY 03 : 입력, 형변환, 연산자 - 입력 사용자가 개발자에게 값을 넘겨주는 행위 - 입력 상태 커서가 깜빡이면서 값이 들어오기를 기다리는 상태 개발자가 할 수 있는 일은 사용자게에 입력 상태로 만들어주는 것까지이다. 값 biblia00.tistory.com - 삼항 연산자 (조건식) ? (참일 때 오는 부분) : ( 거짓일 때 오는 부분) 삼항 연산자는 사용 부분이 통째로 값이다. 경우의 수가 두가지의 값으로 나오는 경우에 사용한다. 삼항 연산자를 사용하여 양수..
DAY 03 : 입력, 형변환, 연산자
2022. 1. 3. 00:38
WEB/JAVA
- 입력 사용자가 개발자에게 값을 넘겨주는 행위 - 입력 상태 커서가 깜빡이면서 값이 들어오기를 기다리는 상태 개발자가 할 수 있는 일은 사용자게에 입력 상태로 만들어주는 것까지이다. 값이 입력되지 않으면 다음으로 진행이 불가능하다. 따라서 개발자는 다음에 적힐 코드들은 값이 입력되었다고 가정하고 작성한다. 입력 받기 전 사용자가 잘 입력할 수 있도록 먼저 출력해준다. . (하위 연산자) A.b : A안의 b, A의 b를 의미한다. - 입력 메소드 입력을 받기 위한 준비과정 import java.util.Scanner; // Scanner을 자동완성하면 main 위에 만들어짐. // 이게 있어야 Scanner메소드 사용가능 Scanner sc = new Scanner (System.in); sc.next..
DAY 02: 출력, 변수
2022. 1. 2. 20:47
WEB/JAVA
- 출력 개발자가 사용자에게 값을 보내어 표현해주는 행위 대상은 사용자, 주최는 개발자 - 제어 문자 따옴표 안에 존재한다. \ (역 슬래쉬, 원화 키)와 함께 쓰인다. 제어문자 의미 \n enter 줄바꿈 \t tab \' ' \" " \\ \ - 서식 문자(format 문자) 따옴표 안에 존재한다. % 와 함께 쓰인다. 서식문자 의미 %d decimal (10진수 정수) %c char (문자) %f float (실수) %s String (문자열) %% % - 출력 메소드 출력 메소드 의미 .print(값) 괄호안에 있는 값을 그대로 출력한다. 마지막에 줄바꿈을 하지 않는다. 줄바꿈을 하기 위해서는 "\n"을 추가해 주어야 한다. .println(값) print()와 동일하나 마지막에 줄바꿈을 한다. ..