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)를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공하기 때문에 단순히 이 클래스 라이브러리만을 잘 활용해도 강력한 기능의 자바 프로그램을 작성할 수 있다. 지금도 자바는..

article thumbnail
알잘딱깔센 GitHub - Ch 7. 그 외 명령어
Programming/Git 과 GitHub 2022. 9. 18. 23:11

이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다. 인프런 강의 링크 [무료] 30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub - 인프런 | 강의 알아서! 잘! 딱! 깔끔하고! 센스있게! 정리하는 GitHub 핵심 개념 책의 무료강의입니다. 해당 책과 Notion 링크도 무료로 다운로드 받을 수 있습니다. 비영리 프로젝트로 교재활용도 허락없이 가능합 www.inflearn.com 노션 링크 지금까지 배웠던 내용 이외에 협업할 때 자주 쓰는 명령어 5가지 (amend, stash, reset, revert, cherry-pick) 를 알아보자. amend 기존의 커밋에 누락된 파일이나 수정된 파일을 추가할 때 사용한다. ‘한 번 더 커밋 하면 되지’라고 생각할 수도 있지만, 같..

article thumbnail
알잘딱깔센 GitHub - Ch 6. Pull Request
Programming/Git 과 GitHub 2022. 9. 18. 23:03

이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다. 인프런 강의 링크 [무료] 30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub - 인프런 | 강의 알아서! 잘! 딱! 깔끔하고! 센스있게! 정리하는 GitHub 핵심 개념 책의 무료강의입니다. 해당 책과 Notion 링크도 무료로 다운로드 받을 수 있습니다. 비영리 프로젝트로 교재활용도 허락없이 가능합 www.inflearn.com 노션 링크 Git Pull Request란? 상대방의 저장소를 Fork한 후 원본 저장소에 올리고 싶을 때, 원본 저장소의 권한을 가진 사람에게 두 브랜치를 합치는 것을 허락해 달라고 요청을 보내야 한다. 이것을 Pull Request 또는 PR이라고 한다. PR은 원본 저장소에 보낼 수 있고 포크한..

article thumbnail
알잘딱깔센 GitHub - Ch 5. Fork
Programming/Git 과 GitHub 2022. 9. 18. 22:44

이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다. 인프런 강의 링크 [무료] 30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub - 인프런 | 강의 알아서! 잘! 딱! 깔끔하고! 센스있게! 정리하는 GitHub 핵심 개념 책의 무료강의입니다. 해당 책과 Notion 링크도 무료로 다운로드 받을 수 있습니다. 비영리 프로젝트로 교재활용도 허락없이 가능합 www.inflearn.com 노션 링크 Fork란? 포크는 개발자들이 하나의 소프트웨어 소스 코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것을 말한다. 빙키와 개리가 만든 저장소가 있다. 이 저장소에 없는 기능을 알리가 만들고 싶어하지만 저장소의 권한은 빙키와 개리에게만 있고 알리에게는 없다. 이때, 저장소의 권..

article thumbnail
알잘딱깔센 GitHub - Ch 4. Branch
Programming/Git 과 GitHub 2022. 9. 18. 19:36

이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다. 인프런 강의 링크 [무료] 30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub - 인프런 | 강의 알아서! 잘! 딱! 깔끔하고! 센스있게! 정리하는 GitHub 핵심 개념 책의 무료강의입니다. 해당 책과 Notion 링크도 무료로 다운로드 받을 수 있습니다. 비영리 프로젝트로 교재활용도 허락없이 가능합 www.inflearn.com 노션 링크 Branch 사용하기 개발 작업을 할 때, 개발자들은 작업 레파지토리에서 소스 코드를 공유한다. 연관성이 없는 기능을 개발한다고 할 때 어떤 개발자는 A 기능을 작업하고 또 다른 개발자는 B 기능을 맡아 작업한다고 가정해보자. 만약 A 작업이 다 끝난 뒤에 B 작업을 수행한다면 연관성이 없..

article thumbnail
알잘딱깔센 GitHub - Ch 3. GitHub
Programming/Git 과 GitHub 2022. 9. 18. 14:07

이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다. 인프런 강의 링크 [무료] 30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub - 인프런 | 강의 알아서! 잘! 딱! 깔끔하고! 센스있게! 정리하는 GitHub 핵심 개념 책의 무료강의입니다. 해당 책과 Notion 링크도 무료로 다운로드 받을 수 있습니다. 비영리 프로젝트로 교재활용도 허락없이 가능합 www.inflearn.com 노션 링크 GitHub 세팅 GitHub 가입하기 아래 페이지로 들어가 회원가입을 한다. https://github.com/ GitHub: Where the world builds software GitHub is where over 83 million developers shape the futur..