Back-End/JAVA 12

[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 6 . 객체지향 프로그래밍 I - 연습문제

자료형에 맞춰서 선언만 해주면 되는 간단한 문제이다. class Student{ String name; int ban; int no; int kor; int eng; int math; } 정답코드이다. class Exercise6_2 { public static void main(String args[]) { Student s = new Student(" ",1,1,100,60,76); 홍길동 String str = s.info(); System.out.println(str); } } class Student { (문제) } 클래스안에 알맞은 변수를 선언해주고 info() 메서드를 정의해주는 문제이다. Class Student{ String name; int ban; int no; int kor; int..

Back-End/JAVA 2023.06.02

[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 6 . 객체지향 프로그래밍 I

객체지향 언어 1. 코드의 재사용성이 높다. - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. - 코드간의 관계를 이용해서 더 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. - 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 객체지향언어는 기존의 프로그래밍언어와 다른 전혀 새로운 것이 아니라, 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 것이다. 이러한 규칙들을 이용해 코드 간의 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하는 것이 가능해진 것이다. 가장 큰 장점으로는..

Back-End/JAVA 2023.06.02

[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 5 . 배열

배열 "배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것" 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 '배열(array)'라고 한다. 예를 들어 10,000개의 데이터를 저장하기 위해 같은 수의 변수를 10,000번 선언해야 한다면 매우 비효율적일 것이다. 중요한 것은 '같은 타입'이어야 한다는 것이며, 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. int[] score = new int[5]; 위 코드가 의미하는 뜻은 5개의 int값을 저장할 수 있는 배열을 생성한다는 것이다. 배열의 선언과 생성 선언방법 선언 예 타입[ ] 변수이름; int[ ] score; String[ ] name; 타입 변수이름[ ]; int score[ ]; String name[ ]; 배열을 선..

Back-End/JAVA 2023.06.02

[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 4 . 조건문과 반복문

조건문 if(조건식){ // 조건식이 참(true)일 때 수행될 문장을 삽입 } 가장 기본적인 조건문이다. if의 뜻대로 만일(if) 조건식이 참(true)이면 괄호{ } 안의 문장들을 수행한다.라는 의미로 이해하면 될 것이다. 블록 if(score > 70) { -> 블럭의 시작 System.out.println("합격"); } -> 블럭의 끝 괄호 { }를 이용해서 여러 문장을 하나의 단위로 묶을 수 있다. 이것을 '블록(block)'이라고 한다. 블록은 { 로 시작해서 }로 끝난다. 블록에는 문장의 끝을 의미하는 ' ; '를 붙이지 않는다. if-else문 if(조건식){ // 조건식이 참(true)일 때 수행될 문장 } else { // 조건식이 거짓(false)일 때 수행될 문장 } if문의 변..

Back-End/JAVA 2023.06.01

[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 3 . 연산자

연산자와 피연산자 x + 3 // x와 3은 피연산자 '+'는 연산자 연산자는 '연산을 수행하는 기호'를 말한다. +기호는 덧셈 연산을 수행하며 '덧셈 연산자'라고 한다. 자바에서는 사칙연산(+, -, *, /)을 비롯해서 다양한 연산자를 제공한다. 연산자가 연산을 수행하려면 반드시 연산의 대상자가 있어야 하는데, 이것을 '피연산자(operand)'라고 한다. 연산자의 종류 종류 연산자 설명 산술 연산자 + = * / % 사칙 연산과 나머지 연산(%) 비교 연산자 > = 비교 > 논리 > 대입 대입은 제일 마지막에 수행된다. 2. 단항(1) > 이항(2) > 삼항(3) 단항 연산자의 우선순위가 이항 연산자보다 높다. 3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다. 증..

Back-End/JAVA 2023.05.31

[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 2 . 변수

문자열과 print, println 1. System.out.print(3+5); 2. System.out.print("3+5"); 각각 어떻게 출력될까? () 안에 바로 넣은 1번은 8이 나오겠지만, "3+5"를 해준 2번은 화면에 3+5를 그대로 출력해 준다. 자바는 큰따옴표("") 안에 들어간 내용은 글자로 간주하고 문자열로 인식한다. 1. System.out.print(); 2. System.out.println(); 1번은 괄호 안의 내용을 출력하고 줄 바꿈을 하지 않는다. 2번은 괄호안의 내용을 출력하고 줄바꿈을 한다. 변수의 타입 분류 변수의 타입 설명 숫자 int long 정수(integer)를 저장하기 위한 타입(20억이 넘을땐 long) float double 실수를 저장하기 위한 타입..

Back-End/JAVA 2023.05.31

[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 1 . 자바를 시작하기 전에

자바의 특징 1. 운영체제에 독립적이다. 2. 객체지향 언어 3. 비교적 배우기 쉽다. 4. 자동 메모리 관리(Garbage Collection) 5. 네트워크와 분산처리를 지원한다. 6. 멀티쓰레드를 지원한다. 7. 동적로딩을 지원한다. JVM - Java Virtual Machine 자바를 실행하기 위한 가상 컴퓨터 Java의 속도 일반 애플리케이션 코드는 OS만 거치고 하드웨어로 전달되지만 Java애플리케이션은 JVM을 한번 더 거치기 때문에, 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가 느리다는 단점이 있다. 하지만 요즘엔 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환해 주는 JIT컴파일러와 향상된 최적화 기술이 적용되..

Back-End/JAVA 2023.05.31

[JAVA] 스파르타코딩클럽 JAVA공부(5) - 프로세스와 쓰레드, 우선순위

목표 수업목표는 프로세스, 쓰레드에 관해서 배우고 쓰레드를 다루는법과 자바 8에서 있었던 변화, 스트림 등을 배울 예정이다. 프로세스와 쓰레드의 차이 프로세스는 운영체제로부터 작업을 할당받는 작업의 단위이고, 쓰레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위이다. 싱글쓰레드 프로세스 안에서 하나의 쓰레드만 작동하는 것. 멀티쓰레드 프로세스 안에서 여러 개의 쓰레드가 작동하는 것. 멀티쓰레드의 장점으로는 여러 개의 쓰레드로 작업을 하여 성능이 좋아지고, 스택을 제외한 모든 영역에서 메모리를 공유하기 때문에 자원을 효율적으로 사용할 수 있다는 것이다. 멀티쓰레드의 단점으로는 동기화에 문제가생길수있다. 즉 충돌이 일어날수있고, 교착상태가 발생할수 있다는게 단점이다. Runnable 람다식 public ..

Back-End/JAVA 2023.05.30

[JAVA] 스파르타코딩클럽 JAVA공부(4) - 오류 및 예외

목표 수업목표이다. 이번수업에는 예외의 개념, 구조를 이해하고 Generic문법과 Wrapper객체에 대하여 배울 것이다. 오류&예외 오류와 예외의 차이점이다. 우선 오류는 일반적으로 회복이 불가능하다. 오류에 대처하는 법으로는 프로그램이 실행되고 어떠한 경우에 프로그램이 종료되었는지 로그를 체크해서 대응하는 방법이 있다. 예외는 일반적으로 회복이 가능한 문제이고, 컴파일에러와 런타임에러가 있다. 컴파일에러로는 간단히 문법이 틀리는 경우가 많기에 문법만 수정하면 간단하게 처리가 가능하다. 런타임에러는 문법적인 오류는 아니지만 프로그램이 실행도중 마주하는 오류를 뜻한다. try-catch & Finally 예시로 가져온 try-catch와 Finally를 사용한 코드이다. 먼저 try{}에서 위험한 메서드..

Back-End/JAVA 2023.05.26

[JAVA] 스파르타코딩클럽 JAVA공부(3) - 객체지향의 이해와 상속

목표 이번수업은 클래스, 상속, 인터페이스에 관해서 자세하게 알아보는 수업이다. 개념에 대해 잘 이해하고 넘어가는 것을 목표로 두었다. 상속 관련 부분은 이번연초에 정보처리기사 실기를 공부할 때 많이 헷갈렸던 부분이다. 이해하기 위해 많은 자료들을 찾아보았었는데, 이번 수업을 통해서 내가 제대로 숙지하고 있고 틀린 부분은 없는지 더 자세히 알아보는 유의미한 시간이 될 것 같다. 클래스 만들기 클래스를 만들기 위해서는 사진에 나온 4가지 과정이 필요하다. 객체생성 연습 package week; public class Main { public static void main(String[] args) { Car[] carArray = new Car[3]; Car car1 = new Car(); car1.cha..

Back-End/JAVA 2023.05.26
프로필사진

남건욱's 공부기록

반응형