Seren dev's blog
article thumbnail
자바의 정석 8장 : 예외처리
Programming/JAVA 2022. 12. 19. 17:57

이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다. 프로그램 에러/오류 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우 - 컴파일 에러 : 컴파일 시에 발생하는 에러 - 런타임 에러 : 실행 시에 발생하는 에러 - 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것 ex) 창고의 재고가 음수가 된다거나, 게임에서 비행기가 총알을 맞아도 죽지 않는 경우 소스 코드 컴파일 -> 컴파일러가 소스코드(*.java)에 대해 오타나 잘못된 구문, 자료형 체크 등의 기본적인 검사를 수행하여 오류가 있는지를 알려준다. -> 컴파일을 성공적으로 마치면, 클래스 파일(*.class)이 생성되고, 생성된 클래스 파일을 실행할 수 있다. Java의 런타임 에러..

article thumbnail
자바의 정석 7장 : 객체 지향 프로그래밍2
Programming/JAVA 2022. 12. 18. 20:30

이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다. 상속 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 -> 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여를 한다. 클래스 간의 상속관계를 그림으로 표현한 것을 상속계층도(class hierarchy)라고 한다. - 자손 클래스는 조상클래스의 모든 멤버를 상속받는다. (단 생성자와 초기화 블럭은 상속되지 않는다. 클래스 간의 관계 - 포함관계 한 클래스의 멤버변수로 다른 클래스의 참조변수를 선언하는 것 Class Circle { Point c = new Point(); int r; } Class Car { Engine e = new Engine(); Door[] d = new Do..

article thumbnail
자바의 정석 6장 : 객체 지향 프로그래밍1
Programming/JAVA 2022. 12. 15. 19:31

이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다. 객체지향 언어 객체지향 언어는 기존의 프로그래밍 언어와 다른 전혀 새로운 것이 아니라, 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 것이다. 이러한 규칙들을 이용해서 코드 간에 관계를 맺어줌으로써 보다 유기적으로 프로그램을 구성하는 것이 가능해졌다. 객체지향언어의 주요 특징 1. 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드..

자바의 정석 5장 : 배열
Programming/JAVA 2022. 12. 15. 15:17

이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다. 배열이란? "같은 타입의 여러 변수를 하나의 묶음으로 다루는 것" 배열은 각 저장공간이 연속적으로 배치되어 있다. int[] score; //배열 선언 score = new int[5]; //배열 생성 arr.length //배열의 길이이며 상수이다. 배열의 유효한 인덱스 범위가 아닌 인덱스로 접근하면 ArrayIndexOutOfBoundsException 예외가 발생한다. 배열 초기화 int[] score = new int[]{10, 20, 30}; int[] score = {10, 20, 30}; 선언과 생성을 따로 하면 new int[] 생략 불가능 int[] score; score = {10, 20, 30}; // 에러 ..

자바의 정석 3~4장 : 연산자, 조건문과 반복문
Programming/JAVA 2022. 12. 13. 20:37

이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다. 3장 : 연산자 반올림 연산 Math.round(4.52) // 5 소수점 첫째 자리에서 반올림한다. 다른 자리에서 반올림하려면 10의 n제곱으로 적절히 곱하고 나누어야 한다. double pi = 3.141592; double shortPi = Math.round(pi * 1000) / 1000.0; // 3.142 나머지 연산 음수의 경우 부호 무시하고 나머지 연산한 결과에 왼쪽 피연산자의 부호를 붙인다. -10%8 = -2 10%-8 = 2 -10%-8 = -2 문자열의 비교 == 대신 equals() 사용 대소문자를 무시하고 싶으면 equalsIgnoreCase() 4장 조건문과 반복문 switch문의 제약조건 1. sw..

자바의 정석 2장 : 변수
Programming/JAVA 2022. 12. 13. 20:09

이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다. 변수는 하나의 값을 저장할 수 있는 저장공간 변수의 타입은 참조형과 8개의 기본형이 있다. 분류 변수의 타입 설명 숫자 int long 정수를 저장(20억이 넘을 땐 long) float double 실수를 저장 (float은 오차없이 7자리, double은 15자리) 문자 char 문자(character)를 저장 String 여러 문자(문자열, string)를 저장 상수와 리터럴 상수는 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다. final 키워드를 사용한다. 상수의 이름은 대문자와 '_'를 사용한다. 원래 12, 123, 3.14, 'A'와 같은 값들이 '상수'인데 이를 구분하기 위해 리터럴이라는 용어를 사..

자바의 정석 1장 : 자바를 시작하기 전에
Programming/JAVA 2022. 12. 10. 23:43

이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다. 자바란? 자바는 객체지향 프로그래밍 언어다. 자바의 가장 중요한 특징은 운영체제(OS, 플랫폼)에 독립적이라는 것이다. 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. 이러한 장점으로 자바는 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어로써 인터넷의 발전과 함께 많은 사용자층을 확보할 수 있었다. 자바는 풍부한 클래스 라이브러리(Java API)를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공하기 때문에 단순히 이 클래스 라이브러리만을 잘 활용해도 강력한 기능의 자바 프로그램을 작성할 수 있다. 지금도 자바는..