
2022.05.27주어진 조건에 따라 다른 실행이 이루어지도록 구현'재산이 1억 이상이면 100만원을 세금으로 낸다 그렇지 않으면 내지 않는다'를 구현 한다면만약에 (재산이 1억 이상이면){세금을 100만원 낸다}그렇지 않으면{세금을 내지 않는다}if(조건식){수행문;

2022.05.131.0과 1로만 데이터를 저장한다2.bit(1비트) : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할 수 있는 메모리의 크기3.byte(바이트) : 1byte = 8bit 1개의 비트로 나타낼 수 있는 수 : 0, 1 (2개)2개의

2022.05.25항(operand) : 연산에 사용되는 값연산자(operator) : 항을 이용하여 연산하는 기호변수에 다른 변수나 값을 대입하는 연산자이항 연산자 중 우선 순위가 가장 낮은 연산자들왼쪽 변수 = 오른쪽 변수(또는 식, 값)단항 연산자변수의 부호를 유

2022.05.13프로그램에서는 항상 변하는 값을 나타낼 필요가 있다(ex.학생의 성적, 합계, 게임의 레벨, 회원 주소 등등)표현하려는 수에 맞는 데이터 타입(자료형)을 이용하여 변수를 선언한다표현하려는 자료가 숫자, 문자, 문자열 등 다양할 수 있으므로 알맞은 자료

2022.05.25이항 연산자연산의 결과가 true(참), false(거짓)으로 반환 됨, 비교연산자 라고도 함조건문, 반복문의 조건식으로 많이 사용됨관계연산자 예제출력결과관계 연산자와 혼합하여 많이 사용 됨연산의 결과가 true(참), false(거짓)으로 반환됨논리

2022.05.16변수를 선언하면 해당되는 자료형의 크기 만큼 메모리 할당변수는 할당된 메모리를 가리키는 이름ex) int level = 10;4바이트 정수형 메모리가 level 이라는 이름으로 할당int로 10을 표현할 때byte : 1바이트 단위의 자료형 동영상,

2022.05.24

2022.05.16실수는 정수보다 정밀하기 때문에 정수와는 다른 방식으로 표현해야 함부동 소수점 방식으로 실수 값 0.1 표현지수부와 가수부로 표현컴퓨터에서는 밑수를 2로 사용정규화 : 가수가 밑수보다 작은 한 자리까지 가수로 표현되는것컴퓨터에서는 밑수가 2이므로 정규

2022.05.24true(참), false(거짓) 두 가지만 나타냄1바이트 사용값이 존재하는지, 배열이 비었는지, 결과가 참인지 거짓인지 등을 표현함논리형 변수 boolean을 true로 초기화시키고 출력시 true가 출력됨local variable type infe

2022.05.25상수 : 변하지 않는 수ex) 원주율 3.14, 1년 12개월 등final 예약어를 사용하여 선언상수 사용시 변하지 않는 값을 반복하여 사용할 때 의미있는 문자로 인식하기 쉽고혹시 변하더라도 선언한 부분만 변경하면 되므로 여러부분 수정할 필요 없음fi

2022.05.27삼항 연산자조건식의 결과가 true(참)인 경우와 false인 경우에 따라 다른 결과가 수행됨if(조건문)dmf 간단히 표현할 때 사용할 수 있음스캐너를 이용한 삼항 연산자 예제3과 2를 차례대로 입력했고 삼항 연산자에 의해 3이 마지막에 출력됨을 알

2022.05.27하나의 상황에 대한 조건이 여러개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용각 조건은 상호 배타적임if(조건식1){ 수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감}else if(조건식2){

2022.05.28if - else if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현비교 조건이 특정 값이나 문자열인 경우 사용break문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함자바 14부터 좀 더 간결해진 표현식이

2022.05.28 > #### 조건이 참(true)인 동안 반복수행하기 주어진 조건에 맞는 동안 지정된 수행문을 반복적으로 수행하는 제어문 조건이 맞지 않으면 반복하던 수행을 멈춤 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false로 판단됨 ex

2022.05.31while문은 조건을 먼저 체크하고 반복 수행이 된다면, do-while은 조건과 상관없이 수행을 한번 하고나서 조건을 체크조건이 맞지 않으면(true가 아니면)더 이상 수행하지 않음입력받는 모든 숫자의 합을 구하는 예제 단, 입력이 0이되면 반복을

2022.05.31 > ### for문 for문의 수행순서

2022.05.31반복문 내부에 또 다른 반복문이 있음여러 겹으로 반복문을 겹쳐서 구현 가능(단 수행시간에 문제가 발생할 수 있음)외부 반복문과 내부 반복문 간의 변수 값 변화에 유의 하며 구현하여야함개인적으로 for문을 사용하는게 조금더 깔끔하고 쉬워보인다

2022.05.31감싸고 있는 제어문의 블록을 빠져 나오는 기능(switch문 에서도 사용)반복문에서는 주로 조건문(if)와 같이 사용하여 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동여러 반복문이 중첩되어 있는 경우엔 break문이 포함되어 있는

2022.06.01의사나 행위가 미치는 대상(사전적 의미)구체적, 추상적 데이터의 단위(학생, 회원, 생산, 주문, 배송)아침에 일어나 학교를 가는 과정을 예로 들어보자절차 지향 프로그래밍\-시간이나 사건의 흐름에 따른 프로그래밍일어난다 => 씻는다 => 밥을 먹는다

2022.06.01온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문한다아침 출근길에 스타벅스에 달려 카페라떼를 주문했다성적확인을 위해 학사 관리 시스템에 로그인 하여 수강한 과목들의 성적을 확인했다객체의 속성은 클래스의 멤버 변

2022.06.01하나의 기능을 수행하는 일련의 코드구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음함수는 이름, 매개 변수, 반환 값, 함수 몸체(bod

2022.06.01 > #### 학생 클래스의 속성을 멤버 변수로 선언하고 메서드를 구현해보자

2022.06.02클래스는 객체의 속성을 정의하고, 기능을 구현하여 만들어 놓은 코드 상태실제 클래스를 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됨예를 들어, 학생 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가

2022.06.02 > #### 생성자 생성자 기본 문법 ([<argument_list]) { [<statements] } 객체 생성시 new 키워드와 함께 사용 ex) Student studentLee = new Student(); studentLee라는 이름의 인

2022.06.02생성자를 구현해서 사용할 수 있음클래스에 생성자를 구현하면 기본 생성자(default constructor)는 제공되지 않음생성자를 호출하는 코드(client 코드)에서 여러 생성자 중 필요에 따라 호출해서 사용가능클래스 생성객체 생성

2022.06.02 > #### 설명에 해당되는 객체를 구현하고 해당 정보를 출력해보자 1.키가 180 이고 몸무게가 78 킬로인 남성이 있습니다. 이름은 Tomas 이고 나이는 37세입니다 2.음식점에 배달 주문이 들어왔습니다 주문 접수 번호 : 2020110200

2022.06.03 > #### 참조 자료형 변수의 자료형 클래스형으로 변수를 선언 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름 참조 자료형을 사용할 때는 해당 변수에 대해 생성하여야 함 (String 클래스는 예외적으로
2022.06.05클래스 외부에서 클래스의 멤버변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드private : 같은 클래스 내부에서만 접근 가능(외부 클래스, 상속 관계의 클래스에서도 접근 불가)아무것도 없음(default) : 같은 패키지 내부에서만

2022.06.05꼭 필요한 정보와 기능만 외부에 오픈함대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현하게 함각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화한다클래스생성객체 생성

2022.06.05 > #### this가 하는 일 인스턴스 자신의 메모리를 가리킴 생성자에서 또 다른 생성자를 호출할때 사용 자신의 주소(참조값)을 반환함 생성된 인스턴스 메모리의 주소를 가짐 클래스 내에서 참조변수가 가지는 주소 값과 동일한 주소 값을 가지는 키워

2022.06.08객체 지향 프로그램에서 객체 간에는 협력이 이루어짐협력을 위해서는 필요한 메세지를 전송하고 이를 처리하는 기능이 구현되어야 함매개 변수로 객체가 전달되는 경우가 발생객체 협력의 예

2022.06.08 > #### 버스와 지하철을 타는 예제 프로그래밍 James와 Tomas는 각각 버스와 지하철을 타고 학교에 갑니다. James는 5000원을 가지고 있었고, 100번 버스를 타면서 1000원을 지불합니다. Tomas는 10000원을 가지고 있었고

2022.06.12Edward는 지각을 해서 택시를 타야 했습니다20000원을 가지고 있었는데 10000원을 택시비로 사용했습니다택시는 '잘나간다 운수' 회사 택시를 탔습니다Student클래스 생성Taxi클래스 생성객체 생성출력결과

2022.06.16여러 인스턴스가 공유하는 기준 값이 필요한 경우학생마다 새로운 학번 생성카드회사에서 카드를 새로 발급할때마다 새로운 카드 번호를 부여회사에 사원이 입사할때 마다 새로운 사번이 필요한 경우static int serialNum;인스턴스가 생성될 때 만들어

2022.06.16serialNum변수를 private으로 선언하고 getter/setter 구현클래스 이름으로 호출가능(클래스 메서드, 정적 메서드)system.out.println(Employee.getSerialNum());static메서드는 인스턴스 생성과 무관

2022.06.16프로그램에서 인스턴스가 단 한개만 생성되어야 하는 경우 사용하는 디자인 패턴static 변수, 메서드를 활용하여 구현 가능

2022.06.16 > #### 설명에 따른 객체를 구현하여 테스트 코드가 실행되도록 구현해보자 자동차 공장이 있습니다. 자동차 공장은 유일한 객체이고, 이 공장에서 생산되는 자동차는 제작될 때마다 고유의 번호가 부여됩니다. 자동차 번호가 10001부터 시작되어 자동

2022.06.18 > #### 배열이란? 동일한 자료형의 순차적 자료 구조 인덱스 연산자[]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적 위치가 동일 배열의 순서는 0부터 시작 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 > #### 배열

2022.06.18 > #### 객체 배열 선언과 구현 기본 자료형 배열은 선언과 동시에 배열의 크기만큼 메모리가 할당되지만, 객체 배열의 경우엔 요소가 되는 객체의 주소가 들어갈(4바이트, 8바이트) 메모리만 할당되고(null) 각 요소 객체는 생성하여 저장해야 함

2022.06.19이차원 이상으로 구현 된 배열평면(이차원 배열)이나 공간(삼차원 배열)을 활용한 프로그램 구현int arr = {{1, 2, 3}}, {4, 5, 6}}출력결과

2022.06.19기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했음배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 대한 구현을 해야 함ArrayList는 객체 배열을 좀더 효율적으로 관리하

2022.06.19 > #### 예제 시나리오 1001학번 Lee와 1002학번 Kim, 두 학생이 있습니다. Lee 학생은 국어와 수학 2과목을 수강했고, Kim 학생은 국어, 수학, 영어 3 과목을 수강하였습니다. Lee 학생은 국어 100점, 수학 50점입니다.

2022.06.20 > #### 클래스 상속

2022.06.21회사에서 고객 정보를 활용한 맞춤 서비스를 하기 위해 일반고객(Customer)과 이보다 충성도가 높은 우수고객(VIPCustomer)에 따른 서비스를 제공하고자 함물품을 구매 할때 적용되는 할인율과 적립되는 보너스 포인트의 비율이 다름 여러 멤버십에

2022.06.21 > #### 하위 클래스가 생성 되는 과정 하위 클래스를 생성하면 상위 클래스가 먼저 생성 됨 new VIPCustomer()를 호출하면 Customer()가 먼저 호출 됨 클래스가 상속 받은 경우 하위 클래스의 생성자에서는 반드시 상위 클래스의

2022.06.23오버라이딩(overriding) : 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있음VIPCustomer 클래스의 calcPrice()는 할인율이 적용되

2022.06.25메서드(함수)의 이름은 주소값을 나타냄메서드는 명령어의 set 이고 프로그램이 로드되면 메서드 영역(코드 영역)에 명령어 set이 위치해당 메서드가 호출 되면 명령어 set 이 있는 주소를 찾아 명령어가 실행됨이때 메서드에서 사용하는 변수들은 스택 메

2022.06.25하나의 코드가 여러 자료형으로 구현되어 실행되는 것같은 코드에서 여러 다른 실행 결과가 나옴정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나임다형성을 잘 활용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들수 있음다른 동

2022.06.26일반적인(general) 개념과 구체적인(specific) 개념과의 관계상위 클래스 : 하위 클래스보다 일반적인 개념 ( 예: Employee )하위 클래스 : 상위 클래스보다 구체적인 개념들이 더해짐 ( 예: Engineer, Manager...)상

2022.06.26업캐스팅된 클래스를 다시 원래의 타입으로 형 변환하위 클래스로의 형 변환은 명시적으로 해야 함Customer vc = new VIPCustomer(); //묵시적VIPCustomer vCustomer = (VIPCustomer)

2022.06.26구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스메서드 선언(declaration) : 반환타입, 메서드 이름, 매개변수로 구성메서드 정의(definition) : 메서드 구현(implementation)

2022.06.26 > #### 템플릿 메서드 추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 메서드 final로 선언하여 하위 클래스에서 재정의 할 수 없게 함 프레임워크에서 많이 사용되는 설계 패턴 추상 클래스로 선언된 상위 클래스에서

2022.06.27 > #### 인터페이스란? 모든 메서드가 추상 메서드로 선언됨 public abstract 모든 변수는 상수로 선언됨 public static final interface 인터페이스 이름{ public static final float pi

2022.06.29 > #### 인터페이스가 하는일 클래스나 프로그램이 제공하는 기능을 명시적으로 선언 일종의 클라이언트 코드와의 약속이며 클래스나 프로그램이 제공하는 명세(specification) 클라이언트 프로그램은 인터페이스에 선언된 메서드 명세만 보고 이를

2022.06.29하나의 인터페이스를 여러 객체가 구현하게 되면 클라이언트 프로그램은 인터페이스의 메서드를 활용하여 여러 객체의 구현을 사용할 수 있음 (다형성)DB에 회원 정보를 넣는 dao(data access object)를 여러 DB 제품이 지원될 수 있게 구현

2022.06.30모든 변수는 상수로 변환 됨 public static finaldouble PI = 3.14;int ERROR = -999999999;모든 선언된 메서드는 추상 메서드 public abstract구현을 가지는 메서드, 인터페이스를 구현하는 클래스들에서

2022.06.30자바의 인터페이스는 구현 코드가 없으므로 하나의 클래스가 여러 인터페이스는 구현 할 수 있음디폴트 메서드가 중복 되는 경우는 구현 하는 클래스에서 재정의 하여야 함여러 인터페이스를 구현한 클래스는 인터페이스 타입으로 형 변환 되는 경우 해당 인터페이스

2022.07.01Player가 있고 Player는 GameLevel 속성을 가집니다. 각 GameLevel 단계 마다 run(), jump(), turn() 세 가지 기능이 업그레이드 됩니다.초보자 레벨 : 천천히 달립니다. run() 만 가능중급자 레벨 : 빠르게

2022.07.01 > #### java.lang 패키지 프로그래밍시 import 하지 않아도 자동으로 imort됨 import.java.lang.*; 많이 사용하는 기본 클래스들이 속한 패키지 String, Integer, System... 모든 클래스는 Objec

2022.07.04두 인스턴스의 주소 값을 비교하여 true/false를 반환재정의 하여 두 인스턴스가 논리적으로 동일함의 여부를 구현함인스턴스가 다르더라도 논리적으로 동일한 경우 true를 반환하도록 재정의 할 수 있음(같은 학번, 같은 사번, 같은 아이디의 회원..

2022.07.04String 선언하기String str1 = new String("abc");String str2 = "abc";힙 메모리에 인스턴스로 생성되는 경우와 상수 풀(constant pool)에 있는 주소를 참조하는 두 가지 방법힙 메모리는 생성될때마다 다