JAVA 20

▶︎클래스◀︎

클래스(class) - 클래스란? 객체의 특성(속성,기능) 을 정의한 것 - 객체를 만들기 위한 설계도 Static - 공유 메모리영역 또는 정적 메모리영역 이라고도 한다. - why? 프로그램 시작 시 static 이 붙은 코드들이 모두 static 영역에 생성되고, 프로그램이 종료될때 까지 사라지지 않는다(정적) 그리고 static 영역에 생성된 변수는 어디서든지 공유할 수 있다.(공유) - 사용방법 : 클래스명.변수명 schoolName 필드가 static 으로 선언되어져 있기 때문에 클래스명인 Student를 사용해서 schoolName 초기화를 진행한다. 필드(field) - 객체의 속성을 작성하는 클래스 내부 영역 - 인스턴스 변수 : 필드에 작성되는 일반 변수 - 클래스 변수(static 변..

JAVA 2023.04.30

▶︎객체(OOP)◀︎

객체지향언어 - 객체지향 언어란? 현실세계는 사물이나 개념처럼 독립되고 구분되는 각각의 객체로 이루어져 있으며, 발생하는 모든 사건들은 객체간의 상호작용이다. 이 개념을 컴퓨터로 옮겨놓아 만들어 낸것이 객체지향언어이다. - 자바에서 객체란? 클래스에 정의된 내용대로 new 연산자를 통해 메모리 영역에 생성된 것. 객체지향 4대 특징 * 캡슐화 : 추상화를 통해 정리된 데이터들과 기능을 하나로 묶어 관리하는 기법. 클래스의 가장 중요한 목적인 데이터의 직접 접근제한을 원칙으로 하여 클래스 외부에서 데이터의 직접적인 접근을 막고, 대신 간접적으로 데이터에 접근할 메소드를 클래스 내부에 작성하는 방법 * 상속 : 상속은 부모가 자식에게 물려주는 행위를 말한다. 객체 지향 프로그램에서도 부모 클래스의 필드와 메..

JAVA 2023.04.30

▶︎2차원 배열◀︎

2차원 배열 - 자료형이 같은 1차원 배열을 묶음으로 다루는것 - 2차원 배열 선언과 할당 : int [ ] [ ] arr = new int [2] [3] ; (int 2차원 배열을 참조하는 참조변수를 선언하고 heap영역에 int 2차원 배 열 2행3열 공간을 할당. - Arrays.toString, Arrays.deepToString - 2차원 배열 선언과 동시에 초기화 --> for문에 식은 행 별로 합을 출력하는 for문인데, sum에 누적해서 0행에 1,2,3을 더한값을 sum에 누적하고 그 다음 1행,2행 순으로 더하고 누적해서 printf문으로 sum값을 출력한다. 가변배열 - 2차원 배열 생성시 마지막 배열 차수(열)를 지정하지 않고 나중에 서로 크기가 다른 1차원 배열을 생성하여 참조하는..

JAVA 2023.04.27

▶︎배열◀︎

배열(Array) - 같은 자료형의 변수를 하나의 묶음으로 다루는것 - 묶여진 변수들은 하나의 배열명으로 불려지고 구분은 index를 이용함(index는 0부터 시작하는 정수) Stack & Heap ------>>> 1-1. 변수선언 int num; - Stack 영역에 int 자료형을 저장할 수 있는 공간 4바이트를 생성하고 그 공간에 num이라는 이름을 부여 ------>>> 1-2. 변수 대입 num = 10; - 생성된 num이라는 변수 공간에 10을 대입 ------>>> 2-1. 배열 선언 int [ ] arr; - Stack 영역에 int[ ] 자료형 공간을 8바이트 생성하고 그 공간에 arr이라는 이름을 부여 - 해당 변수는 참조형으로 주소 값(8바이트) 만을 저장할수 있음 ----->>..

JAVA 2023.04.24

►반복문◀︎

for문 - 끝이 정해져 있는(횟수가 지정되어 있는) 반복문 - 작성법 : for(초기식; 조건식; 증감식;) { 반복 수행할 코드 } - 초기식 : for문을 제어하는 용도의 변수선언 - 조건식 : for문의 반복 여부를 지정하는 보통 초기식에 사용된 변수를 이용하여 조건을 작성함 - 증감식 : 초기식에 사용된 변수를 for문이 끝날때마다 증가 또는 감소시켜 조건식의 결과를 변하게 하는 식 위의 사진이 1씩 증가하는 증가식이었다면 아래 사진은 감소식을 사용한다. 이렇게 되면 출력되는 형태로는 10 9 8 7 6 5 4 3 2 1 이렇게 결과가 나오는걸 알수있다. for문 중첩 반복문 - for문 안에 또 for문이 있는 형태로 대표적으로 구구단 출력을 예로 들수있다. ----->>> 1)먼저 첫번째 f..

JAVA 2023.04.21

►조건문◀︎

if문 - 조건식이 true일때만 내부코드 수행 - 작성법 : if(조건식) { 조건식이 true일때 수행할 코드 } if ~ else문 - 조건식 결과가 true이면 if문, 조건식 결과가 false이면 else구문이 수행됨 - 작성법 : if(조건식) { 조건식이 true일때 수행할 코드 } else { 조건식이 false일때 수행할 코드 } if ~ else if ~ else - if ~ else 구문과 비슷하지만 else if 구문이 더 유용하게 많이 쓰인다. switch문 - 식 하나의 결과로 많은 경우의 수를 처리할때 사용하는 조건문 - 식의 결과로 얻은 값과 같은 case 구문이 수행된다. - 작성법 : switch(식) { case 결과값 1 : 수행코드 1; break; case 결과값 ..

JAVA 2023.04.20

►연산자◀︎

* 증감 연산자 ++, -- - 피연산자(값) 를 1 증가 또는 감소 시키는 연산자 - 전위 연산 : 먼저 연산 후 다른 연산 실행. ex) ++a; - 후위 연산 : 다른 연산 우선 실행 후 연산. ex)a++; -------->>>> 위 사진의 계산을 해보면 a는 후위연산으로 계산될때는 3으로 계산되어진다. b는 반대로 전위 연산이기때문에 계산하면서 1이 감소하고 4로 계산되어진다. 그러므로 a == 3, b == 4 가 되어서 변수 c에는 7이 대입된다. 그리고 계산이 끝났다면 a의 후위연산이 실행되어 a는 4가된다. * 비교연산자 - 비교연산자 : >, =, temp는 짝수인가, 홀수인가? = 723dmf 2로 나눠서 나머지가 0이면 짝수인 true가 나오고 나머지가 1이면 홀수이기때문에 fals..

JAVA 2023.04.20

►출력문◀︎

* 출력메소드 - Sysetem.out.print() : 단순 출력(출력 후 줄바꿈 X) - System.out.println() : 한줄 출력(출력 후 줄바꿈 수행) - System.out.printf() :정해져 있는 형식에 맞춰서 그 형식에 맞는 값(변수)을 줄바꿈 하지 않고 출력 ---->>> 위 사진에서 변수 iNum3을 출력문 안에있는 패턴대로 출력한다면 아래와 같이 나타난다. 첫번째는 d 정수형 앞에 아무것도 없기때문에 3이 바로 출력되고, 두번째는 d 정수형 앞에 7이 들어가서 왼쪽 7칸을 비우고 오른쪽 정렬이기 때문에 위와 보듯이 7칸을 비우고 맨 오른쪽에 3이 출력된것을 볼수있다. 마지막으로 출력된 3은 맨 왼쪽에 출력되어있는데 d 정수형 앞에 -7이 붙어있다. -가 붙은것은 두번째와 ..

JAVA 2023.04.18

►형변환◀︎

* 형변환(Casting) - 형변환이란 값의 자료형을 변환하는것이다 (단 boolean은 제외) - 컴퓨터는 기본적으로 같은 자료형끼리만 연산이 가능하다. 다른 자료형과 연산시 오류가 발생하는데 이런 상황을 해결하기 위해서 필요한 기술이 형 변환이다. * 자동 형변환 - 값의 범위가 큰 자료형과 값의 범위가 작은 자료형의 연산시에 작은 자료형 -> 큰 자료형으로 컴파일러에 의해 자동적으로 변환되는것 ---->>>. int i3 변수에 ch3변수를 대입하면서 자연스럽게 char -> int 자동 형변환이 일어나게된다. * 강제 형변환 - 기존 자료형을 원하는 자료형으로 강제 변환 시키는 것 - 값의 범위가 큰 자료형 -> 값의 범위가 작은 자료형 으로 변환할때 사용 - 자료형을 변환시키고 싶은 값 또는 ..

JAVA 2023.04.17

►변수◀︎

* 변수(Variable) - 메모리(RAM)에 값을 기록하는 공간 - 공간에 기록되는 값(Data)이 변할 수 있어서 변수라고 한다. - 변수는 여러종류가 존재한다(저장되는 값의 형태, 크기가 다르다) * 변수 사용의 장점 - 가독성 증가(읽기 편해짐) - 재사용성 증가(한번 만든 변수를 계속 사용) - 코드 길이의 감소 - 유지보수성 증가(코드 수정이 간단해짐) * JAVA 기본 자료형 8가지 - 논리형 : boolean(1byte) - 정수형 : byte(1byte), short(2byte), int(4byte), long(8byte) (long 타입의 리터럴값에는 끝에 소문자 'l' 이나 대문자 'L' 를 붙여줘야한다.) - 실수형 : float(4byte), double(8byte) (float..

JAVA 2023.04.17