본문 바로가기

Java

(5)
SOLID SRP : 단일 책임 원칙(single responsibility priciple) 하나의 클래스는 하나의 책임만 가져야한다. 변경이 있을때 파급효과가 적으면 단일 책임 원칙을 잘 따른것 OCP : 개방-폐쇄 원칙 (Open/closed principle) 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 인터페이스를 구현한 새로운 클래스를 만들어서 새로운 기능을 구현 MemberService 클라이언트가 구현 클래스를 직접 선택 MemberRepository m = new MemoryMemberRepository(); //기존코드 MemberRepository m = new JdbcMemberRepository(); //변경코드 구현 객체를 변경하려면 클라이언트 코드를 변경해야 한다...
CH04 조건문 4.1 코드 실행 흐름 제어 * 흐름제어문 = 제어문 제어문은 조건식과 중괄호 { } 블록으로 구성되는데, 조건식의 연산 결과에 따라 블록 내부의 실행 여부가 결정 ① 제어문의 종류 : 조건문 , 반복문 → 조건문 : if문, switch문 / 반복문 : for문, while문, do-while문 ② 루핑(looping) : 반복문일 경우 제어문 처음으로 다시 되돌아가 반복 실행 ③ 제어문 블록 내부에 다른 제어문 사용가능 4.2 조건문(if문, switch문) 4.2.1 if문 * if문은 조건식의 결과에 따라 블록 실행 여부가 결정 4.2.2 if-else문 * if문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택 → 조건식이 false이면 else 블록이 실행되고, 조건식이..
CH03. 연산자 3.1 연산자와 연산식 ① 연산(operation) : 프로그램에서 데이터를 처리하여 결과를 산출 ② 연산자(operator) : 연산에 사용되는 표시나 기호 ③ 피연산자(operand) : 연산되는 데이터 ④ 연산식(expressions) : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 ex) x+y ( + : 연산자 / x, y : 피연산자) 연산자 종류 연산자 피연산자 수 산출값 기능 설명 산술 +, -, *, /, % 이항 숫자 사칙연산 및 나머지 계산 부호 +, - 단항 숫자 음수와 양수의 부호 문자열 + 이항 문자열 두 문자열을 연결 대입 =, +=,, -=, *=, /=, %=, &=, ^=, |=, =, >>>= 이항 다양 우변의 값을 좌변의 변수에 대입 증감 ++, -- 단항 숫..
CH02. 변수 2.1 변수 2.1.1 변수란? * 변수란, 하나의 값을 저장할 수 있는 메모리 공간이다. * Attribute, Variable(속성 또는 변수) → Why? Data를 저장 2.1.2 변수의 선언 * naming convention(명명 규칙) ① 첫 번째 글자는 문자이거나 '$', '_'이어야 하고 숫자로 시작할 수 없다. ex) 가능 : $price, _company / 불가능 : 1v, @vvv ② 영어 대소문자를 구분한다. ex) firstname과 firstName은 다른 변수 ③ 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 한다.(관례) ex) maxSpeed, firstName ④ 문자 수(길이)의 제한은 없다. ⑤ 자바 예약어는 사용할 수 없다.(필수)..
CH01. 자바 시작하기 1.1 프로그래밍 언어란 C/C++ ->(컴파일)-> 기계어(Intel 계열의 CPU) 1.2 자바란? 1.2.1 자바의 유래 유래 : 홈 네트워킹 - oak - java 1990년 후반 www이 활발해지면서 주목을 받게됨. 1.2.2 자바의 특징(네트워크에 적합) 1. 플랫폼이 독립적(운영체제에 독립적) → 이식성이 높은 언어 ① "write once, run any where" ② jvm이 통역자 역할(OS에 관계없이 사용가능) ③ 소스파일 수정 없이, 자바실행 환경( JRE : Java Runtime Environment)이 설치 되어 있는 모든 OS에서 실행가능 → jdk(자바개발도구) > jre(자바실행환경) > jvm(자바가상머신)(일반적 윈도우 설치시 포함) 2. 객체지향 언어이다. (Obj..