프로그래밍 IT/JAVA

JAVA 배운 내용들 개념 정리 1주차~7주차

Sunbang123 2022. 4. 23. 14:15

출력 관련 메소드 3개 서술

print();
println(); // 줄바꿈 처리를 해줌! C에는 없고 JAVA에 있는기능
printf(); // 형식지정자(%) 사용

 

변수의 종류 2개 : 기본형, 참조형

 

자바의 기본형(8개)

byte, short, int, char, long, float, double

 

참조형(클래스명)의 특징 2개 : 주소만 저장 가능. 4byte값을 보유함.

 

기본형의 형변환 순서 서술

: char(1) -------------ㄱ

byte(1) - short(2) - int(4) - long(8) - float(4) - double(8)

 

형변환 성질 서술

 

: 작은쪽 ---------(자동 형변환)---------> 큰쪽

큰쪽 -----------(강제 형변환)---------> 작은쪽

 

문자열의 성질 서술

 

: "문자열" + anyType => "문자열"

anyType + "문자열" => "문자열"

연산자의 처리 순서별 연산자 서술

- 단항 연산자 7개 : +, -, ++i, --i, i++, i--, !(not true<->false)

 

- 이항 연산자 5개 : %, /, *, +, -

(몫의 성질도 서술하기)

: 실수/실수, 정수/실수, 실수/실수, (double)정수/정수 ---> 몫(결과)가 실수

정수/정수 ---> 몫이 정수

 

- 비교 연산자 6개 : >=, <=, ==, !=(같지 않으면 참), >, <

(비교연산자의 결과값은?) : true / false

 

- 논리 연산자 : &&, ||

(논리연산자의 결과값은?) : true / false

 

- 복합 대입 연산자 예시 3개 : *=, -=, +- ...

(복합 대입 연산자를 풀어쓰면?) : a += b; ---> a = a+b;

 

- 대입 연산자 1개 : =

 

- 삼항 연산자 1개 : int n = (조건문) ? true일때 값 : false일때 값

(삼항 연산자 사용법) : int n = (5>4) ? 100 : 200 ---> int n = 100

조건문 2개 서술

: if문 - if(조건식) { 조건이 true일때 } else {조건이 false 일때]
switch문 -

switch( /* 조건값 */) { 
	case a: 조건값이 a일때 순차적으로 실행;
    case b: case a 다음 실행; break; (a, b 실행하다 멈춤!)
    default: 기본으로 실행되는 값 조건값이 a도 b도 아닐때도 실행;
}

반복문 2개 서술

: for문 - for(초기값; 조건식; 증감식) { 반복될 내용 }
while문 - 초기값 설정

while( /* 조건식 */) {
    /* 변화식(증/감) */
}

배열 서술

- 형식 : Math.random();

- 1차원 배열 : int[] arr; 그리고 int[] arr = new int[]{95, 77, 83, 90, 100 ...}

- 2차원 배열 : int arr[]; 한 방향만 간다 (ex) 1xj, ix1 단행이라는 뜻.

- 개념 : 같은 타입의 연속된 공간을 활용하기 위해 사용함. (heap영역 객체생성)

- 쓰임새 : 타입(자료형)뒤에 오거나 매개변수에 올 수 있음.

랜덤값

- 형식 :

Math.random();

- 범위 : 0.0 <= r < 1.0 ----> 실수형으로 범위 나옴!

- 응용 (정수로 변환) : (int)(Math.random()); ----> 0 <= r <1

객체지향 언어의 3가지 특징 ---> *** 필수 출제 ***

: 캡슐화, 상속, 다형성

클래스와 객체의 정의와 용도

- 클래스의 정의와 용도 : 객체를 정의함, 객체를 생성하는데 사용

- 객체의 정의와 용도 : 존재하는 사물 또는 개념, 쉽게는 구형대상, 속성과 기능에 따라 다름

- 클래스와 객체의 개념을 예시로 들어보자

: 붕어빵기계 - 붕어빵

차공장 - 차

TV설계도 - TV

인스턴스

- 인스턴스의 정의 : 실체화된 객체

- 인스턴스화를 간단하게 서술하자.

: 클래스 ----(인스턴스화)---> 인스턴스(객체)

- 객체의 속성은 변수 로, 기능은 메소드 로 정의한다.

- 객체 안의 속성과 기능을 부를때 객체의 멤버 라고 붙인다.

- 인스턴스 생성 방법

: 힙 메모리에 멤버변수 의 크기에 따라 메모리가 생성.

메모리에 생성된 인스턴스를 가리키는 변수를 참조변수 라고 한다.

생성된 인스턴스의 메모리의 주소 값을 참조값 라고 한다.

참조형 참조변수;

참조형 참조변수 = new 생성자();

- 인스턴스 생성과 사용이 불가능한 경우를 서술하시오.

: 한 인스턴스가 여러 참조변수를 가질 때

클래스

- 데이터 저장 개념의 발전과정을 그려보시오. (구조체, 클래스, 배열, 변수)

: [1] [1][2][3] [1.2][3][30f] [1]['a'][10.0f] + 함수

변수 --> 배열 --> 구조체 --> 클래스

- 클래스의 정의 : 함수 + 데이터

- 변수의 정의 : 하나의 데이터를 저장할 수 있는 공간

- 배열의 정의 : 같은 타입(형)의 여러 데이터를 저장할 수 있는 공간

- 구조체의 정의 : 형(타입)이 다른 데이터를 저장할 수 있는 공간

클래스의 또 다른 정의

- 클래스의 쓰임새에 따른 정의

: 프로그래머가 직접 새로운 타입 을 정의 할 수 있다.

서로 관련한 값 을 묶어서 하나의 타입 으로 정의한다. 여러번 사용 가능

변수의 선언 위치

- 클래스 변수 영역에 class 라고 쓰고 메서드 영역에 void 라고 쓰자.

:

class Blahblah {
	Int n1;
	Static int n2;
	void blah2blah () {
		Int n3 = 0;
	}
  }

- 위의 코드에서 인스턴스 변수, 클래스 변수(공유 변수), 지역 변수의 이름을 찾아 쓰시오.

: 인스턴스 변수 n1, 클래스 변수 n2, 지역 변수 n3

- 클래스 변수의 선언 위치와 생성 시기

: 클래스 영역에 생성, 클래스가 메모리에 올라갈 때

- 인스턴스 변수의 선언 위치와 생성 시기

: 클래스 영역에 생성, 인스턴스 생성시

- 지역 변수의 선언 위치와 생성 시기

: 메소드 영역에 선언, 변수 선언문 수행시

클래스 변수의 특징 3개 서술하기

  1. 같은 클래스의 모든 인스턴스들이 공유하는 변수
  2. 인스턴스 생성 없이 "클래스이름.클래스변수명" 으로 접근
  3. 클래스가 로딩될 때 생성되고 프로그램이 종료될 때 소멸

인스턴스 변수의 특징 3개 서술하기

  1. 각 인스턴스의 개별적인 저장공간이며, 인스턴스마다 다른값 저장 가능
  2. 인스턴스 생성 후 "참조변수.인스턴스변수명" 으로 접근
  3. 인스턴스를 생성할 때 생성되고, 참조변수가 없을 때 가비지 컬렉터에 의해 자동제거됨

지역변수의 특징 2개 서술하기

  1. 메서드 내에 선언되며, 메서드의 종료와 함께 소멸
  2. 조건문, 반복문의 블럭{}내에 선언된 지역변수는 블럭을 벗어나면 소멸