일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- EffectiveJava
- 자바 #java #상속
- java #continue #반복문
- java #자료형
- 이펙티브자바
- java #조건문 #if조건문 #if
- 자바 #변수 #java
- Mixin
- java
- 믹스인
- java #중첩반복문 #구구단
- HashMap
- 자바
- java #조건문 #if문
- java # for문 #반복문
- java #자바 #상속 #오버라이딩
- Arrays.toString()
- 람다
- java #자바 #상속
- java #객체지향 #자바
- 인텔리제이
- IntelliJ
- 스프링 #Spring #spring #입문서
- overring
- 객체지향프로그램
- Math.sqrt()
- 해쉬맵
- 메서드
- 자바 #JAVA
- Math.pow()
- Today
- Total
목록Java (37)
산으로 가자▲
메서드 재정의하기(overring) 하위 클래스에서 메서드 재정의 하기 오버라이딩(overriding) : 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있음 VIPCustomer 클래스의 calcPrice()는 할인율이 적용되지 않음 재정의 하여 구현해야 함 VIPCustomer.java @Override public int calcPrice(int price) { bonusPoint += price * bonusRatio; return price - (int)(price * salesRatio); } @overriding 애노테이션 (annotation) 애노테이션은 원래 주석이라는 의미 컴파일러에게 특별..
상속에서 클래스 생성 과정과 형 변환 하위 클래스가 생성 되는 과정 하위 클래스를 생성하면 상위 클래스가 먼저 생성 됨 new VIPCustomer()를 호출하면 Customer()가 먼저 호출 됨 클래스가 상속 받은 경우 하위 클래스의 생성자에서는 반드시 상위 클래스의 생성자를 호출 함 Customer.java `public Customer() { customerGrade = "SILVER"; bonusRatio = 0.01; System.out.println("Customer() 생성자 호출"); }` VIPCustomer.java `public VIPCustomer() { customerGrade = "VIP"; bonusRatio = 0.05; salesRatio = 0.1; System.out...
상속을 활용한 멤버십 클래스 구현하기 멤버십 시나리오 `회사에서 고객 정보를 활용한 맞춤 서비스를 하기 위해 일반고객(Customer)과 이보다 충성도가 높은 우수고객(VIPCustomer)에 따른 서비스를 제공하고자 함 물품을 구매 할때 적용되는 할인율과 적립되는 보너스 포인트의 비율이 다름 여러 멤버십에 대한 각각 다양한 서비스를 제공할 수 있음 멤버십에 대한 구현을 클래스 상속을 활용하여 구현해보기` 일반 고객(Customer) 클래스 구현 고객의 속성 : 고객 아이디, 고객 이름, 고객 등급, 보너스 포인트, 보너스 포인트 적립비율 일반 고객의 경우 물품 구매시 1%의 보너스 포인트 적립 `package ch01; public class Customer { private int customerID..
객체 간의 상속은 어떤 의미일까? 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할때 기존 클래스를 상속함 `상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass` 상속의 문법 class B extends A{ } `extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 자바는 단일 상속(single inheritance)만을 지원함` 상속을 구현 하는 경우 상위 클래스는 하위 클래스 보다 더 일..
객체 간의 상속은 어떤 의미일까? 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할때 기존 클래스를 상속함 `상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass` 상속의 문법 class B extends A{ } `extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 자바는 단일 상속(single inheritance)만을 지원함` 상속을 구현 하는 경우 상위 클래스는 하위 클래스 보다 더 일..
객체와 객체 지향 프로그래밍 객체 (Object) 의사나 행위가 미치는 대상 ( 사전적 의미 ) 구체적, 추상적 데이터의 단위 ( 학생, 회원, 생산, 주문, 배송 ) 객체 지향 프로그램과 절차 지향 프로그래밍 아침에 일어나 학교를 가는 과정을 예를 들어 봅시다. 절차 지향 프로그래밍 시간이나 사건의 흐름에 따른 프로그래밍 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다-> 요금을 지불한다 -> 학교에 도착 객체 지향 프로그래밍 객체 지향 프로그램은 어떻게 구현하는가? 객체를 정의 하고 각 객체 제공하는 기능들을 구현하고 각 객체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체간의 협력을 구현
break문 사용하기 감싸고 있는 제어문의 블록을 빠져 나오는 기능 (switch문 에서도 사용) 반복문에서는 주로 조건문(if)와 같이 사용하여 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동 여러 반복문이 중첩되어 있는 경우엔 break 문이 포함되어 있는 반복문만 빠져 나옴 break문 예제 1부터 숫자를 더하여 100이 넘는 순간의 그 숫자와 합을 출력하세요 package ch21; public class BreakTest { public static void main(String[] args) { int sum = 0; int num; for( num = 1; ; num++) { sum += num; if( sum >= 100)break; } System.out.println..
중첩 반복문이란? 반복문 내부에 또 다른 반복문이 있음 여러 겹으로 반복문을 겹쳐서 구현 가능 (단 수행시간에 문제가 발생할 수 있음) 외부 반복문과 내부 반복문 간의 변수 값 변화에 유의 하며 구현하여야 함 구구단을 for와 while로 구현해 보자 package ch20; public class NestedLoopTest { public static void main(String[] args) { int dan = 2; int count = 1; for( dan = 2; dan
조건과 상관 없이 한번은 수행문을 수행 while문은 조건을 먼저 체크하고 반복 수행이 된다면, do-while은 조건과 상관 없이 수행을 한 번 하고나서 조건을 체크 조건이 맞지 않으면(true 가 아니면) 더 이상 수행하지 않음 do-while 예제 입력받는 모든 숫자의 합을 구하는 예제 단, 입력이 0이 되면 반복을 그만하고 합을 출력 package ch18; import java.util.Scanner; public class DowhileTest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int input; int sum = 0; do { input = scanner.nextInt(); ..
조건이 참(true)인 동안 반복수행하기 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하는 제어문 조건이 맞지 않으면 반복하던 수행을 멈추게 됨 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false 판단 됨 예) 달리는 자동차, 일정 횟수 만큼 돌아가는 나사못, 특정 온도까지 가동되는 에어컨등 while문 수행문을 수행하기 전 조건을 체크하고 그 조건의 결과가 true인 동안 반복 수행 while 문 예제 1부터 10까지 더하여 그 결과를 출력해 보자 package ch17; public class WhileTest { public static void main(String[] args) { int num = 1; int sum = 0; while( num
for문의 수행 순서 for문 예제 (while과 비교) 1부터 10까지 더한 결과를 출력하세요 package ch19; public class ForTest { public static void main(String[] args) { int count =1; int sum = 0; for( int i = 0 ; i
조건이 여러 개 일 때 간단히 표현되는 switch-case 문 switch - case 문 if - else if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현 비교 조건이 특정 값이나 문자열인 경우 사용 break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함 자바 14부터 좀 더 간결해진 표현식이 지원 됨 ( break 사용하지 않음 ) 한 달이 며칠인지 알려주는 프로그램 구현 `package ch16; public class SwitchCaseTest { public static void main(String[] args) { int month = 10; int day; switch(month){ case 1: case 3: case 5: case ..
조건이 여러 개 일 때의 if 문 if-else if-else 문 하나의 상황에 대한 조건이 여러개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용 각 조건은 상호 배타적임 `if(조건식1){ 수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감 } else if(조건식2){ 수행문2; // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감 } else if(조건식3){ 수행문3; // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감 } else{ 수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건) } 수행문5; // if-else if-else 문이 끝나면 수행됨 가령 조건식2가 만족되면 수행문2 -> 수행문5 순으로 수행됨` `pac..
조건문 - if 문(만약에... 라면) 조건문 이란? 주어진 조건에 따라 다른 실행이 이루어 지도록 구현 '재산이 1억 이상이면 100만원을 세금으로 낸다 그렇지 않으면 내지 않는다' 를 구현 한다면 만약에 (재산이 1억 이상이면){ 세금을 100만원 낸다 } 그렇지 않으면 { 세금을 내지 않는다 } if문 문법 if(조건식){ 수행문; // 조건식이 '참'인 경우에(조건에 맞는 경우) 수행문이 수행됨 } // 조건식이 '참'이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음 if - else 문 문법 수행문1; // 조건식이 '참'인 경우에 수행됨 } else{ 수행문2; // 조건식이 '참'이 아닌 경우에 수행됨 }` `if( 조건식) { if - else 예제 `package ch14; im..
변수(Variable)는 변하는 수입니다. 변수는 언제 쓰나요? 프로그램에서는 항상 변하는 값을 나타낼 필요가 있음 ( ex. 학생의 성적, 합계, 게임의 레벨, 회원 주소 등등...) 표현하려는 수에 맞는 데이타 타입(자료형)을 이용하여 변수를 선언 표현하려는 자료가 숫자, 문자, 문자열등 다양할 수 있으므로 그에 맞는 자료형을 사용 변수 선언과 사용하기 예제 변수 선언은 자료형과 변수 명으로 선언함 선언과 동시에 초기화 할 수 있음 `package ch05; public class VariableTest { public static void main(String[] args) { int age, count; age = 10; int level = 10000; System.out.println(age)..
자료형(data type) - 정수는 어떻게 표현하나요? 변수와 메모리 `변수를 선언하면 해당되는 자료형의 크기 만큼 메모리가 할당 변수는 할당된 메모리를 가리키는 이름 int level = 10; // 4바이트 정수형 메모리가 level 이라는 이름으로 할당 됨` 기본 자료형(primitive data type)의 종류 정수 자료형의 종류와 크기 byte와 short byte : 1바이트 단위의 자료형 동영상, 음악 파일, 실행 파일의 자료를 처리할 때 사용 short: 2바이트 단위의 자료형 C/C++ 언어와 호환 시 사용 int 자바에서 사용하는 정수에 대한 기본 자료 형 4바이트 단위의 자료형 프로그램에서 사용하는 모든 숫자(리터럴)은 int 로 저장됨 32 비트를 초과하는 숫자는 long 자료형..
자바정리 자바의 특징 운영체제가 독립적이다. 💡 일종의 에뮬레이터인 자바가상머신(JVM)을 통해서 가능한 것인데, 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달 받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다. 객체지향언어이다. 💡 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어라는 평가를 받고 있다. 비교적 배우기 쉽다 자동 메모리 관리 💡 자바로 작성된 프로그램이 실행되면 가비지컬렉터가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메로리를 따로 관리 하지 않아도 된다. 네트워크와 분산처리를 지원한다. 💡 풍부하고 다양한 네트워크 프로그래밍 라이브러리(JAVA API)를 통해 빅교적 짧은 시간에 네트워크 관련 프로..