일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ui5
- 개발
- udemy
- sap
- 맥북
- Algorithm
- 자바 클래스
- visual studio code
- ABAP
- Deep Learning
- S/4HANA
- 자바
- 백준 알고리즘
- FPM
- SAP 번역
- Fiori
- python
- 이클립스
- module
- BOBF
- mac
- BOPF
- BTP
- html
- java
- 클래스
- 알고리즘
- tm
- 파이썬
- Eclipse
- Today
- Total
목록java (19)
z2soo's Blog

Do it! 점프 투 자바 Do it! 점프 투 자바 국내 최초의 파이썬 책이자 도서를 집필한 박응용 저자가 이번에는 《Do it! 점프 투 자바》를 출간했다. 박응용 저자는 파이썬 저자로 더 잘 알려져 있지만, 사실 파이썬보다 자바와 함께 20년 이 www.aladin.co.kr Do it 시리즈는 처음 코딩을 배울 때 알게 되었다. 아직 코로나, ChatGPT 등의 이슈로 개발 붐이 일어나기 전 이었지만 때에도 굉장히 정리가 잘 된 도서라고 소문나있었다. (지금처럼 개발 기초 도서가 쏟아지는? 정도는 아니었음) 특히, 온라인으로 그 일부 내용을 볼 수 있게 오픈해줘서 본인도 많은 도움을 받았다. 사실 지금 급하게 자바를 활용하지는 않지만, 이전에 잠깐 자바를 배웠고 제대로 활용하기도 전에 1년 정도가..

Key point 1. Comparable : 기본 정렬을 위한 인터페이스 2. compareTo : Comparable 내부의 메소드로 정렬 기준을 구현하여 활용 (-1) 보다 작음 (0) 동일함 (+1) 보다 큼 3. java.util.Collections 클래스의 sort() 메소드 사용을 위해서는 Comparable 인터페이스 구현과 compareTo 메서드 오버라이딩 구현 필요!! 1. Comparable 인터페이스 Oracle의 공식 문서에 따르면 ... 해당 인터페이스는 이를 포함(implement)하는 클래스의 각 객체의 전체 순서를 정합니다. 이 순서를 자연 순서(natural ordering)이라 하고, 클래스의 compareTo 메소드는 자연 비교 방법(natural compariso..

Key point 1. 추상 클래스는 실체 클래스의 공통 부분(변수, 메소드)를 추출한 클래스 2. 추상 클래스로는 객체 생성 불가 3. 추상 클래스 - 실체클래스 : 상속관계 4. 추상 클래스의 추상 메소드는 재정의가 필수! 1. 추상 클래스와 실체 클래스 추상(abstract) 클래스는 실체 클래스의 공통된 부분(변수, 메소드 등)을 추출하여 선언한 클래스를 의미한다. 이 때, 실체 클래스는 객체를 직접 생성할 수 있는 클래스를 말하며, 추상 클래스로는 객체 생성이 불가능하다. 추상 클래스를 사용하기 위해서는 반드시 상속해서 사용해야 한다. 실체 클래스 : 객체 생성 가능 추상 클래스 : 객체 생성 불가능 2. 추상 클래스의 용도 추상 클래스는 크게 통일성, 시간절약을 위해 사용된다고 본다. 특히 통..

Key point 객체 instnaceof 클래스 : 객체의 타입을 확인하여 true, false 값을 리턴 Instanceof 연산자 Instanceof는 객체에 사용되는 연산자이다. 객체의 타입을 확인하여 true 또는 false로 위해 사용하며, 해당 객체의 형 변환이 가능한지의 여부를 나타내기도 한다.type casting 혹은 해당 객체의 속성, 기능에 접근하기 전에 오류를 방지하기 사용한다. 객체가 참조하는 클래스를 확인하는 메소드 getClass 와 함께 잘 사용된다. 예를 들어, 아래의 코드는 Coffes 라는 ArrayList에 담긴 객체가 참조하는 클래스가 Latte 이 맞는 경우 Coffee 객체의 메소드를 사용하여 로직을 수행한다. boolean check = (coffees.get..

1. 프로젝트의 흐름도 Member 클래스 (회원정보) n명 정보 입력 컨테이너(ArrayList 타입의 customer)에 저장 ATM Machine 클래스 컨테이너(고객정보 DB 역할)를 가져와서 연결 해당 클래스에 특정 회원을 찾아서 로그인 하는 기능 존재 로그인 후 볼 수 있는 개인 회원용 메뉴 제작 [1] 잔액조회 →로그인된 고객의 잔액 출력 [2] 입금 → 금액을 입금(누적) [3] 출금 → 잔액에서 차감 [4] 종료 → 현재 실행되고 있는 메뉴 종료 ATMPlay 클래스 프로그램 시작 고객 정보 컨테이너 생성 고객 정보 저장 ATMMachine 객체 생성 고객 정보 넘겨줌 2. Java Code Member package ATMpackage; public class Member { //속성 ..

To-do 1. main스레드에서는 두 개의 스레드를 만들어내서 작동시킨다. 그리고 최종 결과만 출력한다. 2. 스레드 작업내용 - 자신의 이름을 출력한다. - 전역변수(static 데이터)에 랜덤한 숫자를 1개 누적시킨다. - 작업이 끝나면 자신의 이름 + "작업 완료" 메시지를 출력한다. 3. static 데이터는 처음에 (0)으로 초기화되어 있어야 한다. Key point 단점 : 스레드 사용시, 어떤 작업이 어떤 순서로 어떤 시점에 수행되는지 알 수 없어 사용하기 까다로움 장점 : CPU를 최대한으로 끌어서 사용할 수 있음 * 주로 네트워크 쪽에서 많이 사용한다. Java Code ThreadWork package ThreadPack; import java.util.Random; public cl..

Key point 1. JAVA 멀티스레드 : 여러 작업을 동시에 실행시키는 방법 2. 인터페이스 implements 시, 무조건 구현해야하는 method 존재 3. Thread.sleep(초) : 스레드 작업에 (초) 딜레이 4. random.nextInt(정수) : 정수 범위에서의 랜덤한 정수 생성 1. JAVA 멀티스레드 개념 기본적으로 자바 프로그램은 한 개의 프로세스(프로그램)으로 작동된다. = 싱글 스레드 CPU에서 여러 개의 코어를 가지고 있다면, 동시에 여러 가지의 작업을 실행시킬 수 있는데, 이를 멀티 프로세스라고 한다. 다만, 코어수보다 작업이 많다면, 한 개의 코어가 여러가지의 작업을 수행할 수 없는데, 이때 운영체제가 스케줄링이라는 기법으로 시간을 쪼개서(Round-Robin) 여러..

1. 오버로딩 (Overloading) 같은 이름의 메서드/생성자를 여러개 정의하고, 매개변수의 갯수와 유형을 다르게 정의하여 활용하는 경우다. 메서드와 생성자 모두 오버로딩 가능하다. 메서드 오버로딩 생성자 오버로딩 : 오버로딩 생성자와 디폴트 생성자 중 하나만 사용해야 함 package Pack04; public class Parents { // 속성 private String parentsData01; // 디폴트 생성자 public Parents() {System.out.println("Parents 객체 생성완료");} // 오버로드 생성자 public Parents(String x) {System.out.println("Parents 객체 생성완료" + x);} // 기능 void test01..

Key point 1. 상속 = 기존의 클래스를 확장시킨 것 (extends) 2. 오버로딩 & 오버라이딩 다른 개념 1. 클래스의 상속 부모 클래스와 자식 클래스는 다음과 같이 정의되고 상속된다. 상속된 경우, 부모의 데이터와 메소드 기능을 사용할 수 있게 된다. // 부모 클래스 Class 부모() {} // 자식 클래스 Class 자식 extends 부모() {} Child 클래스, Parents 클래스를 생성하고 Parents를 부모 클래스, Child를 자식 클래스로 설정해보자. Parents 클래스 package Pack04; public class Parents { // 속성 private String parentsData01; protected String parentsData02; // ..

Key point 1. 오버로딩 = 메소드가 같은 이름으로 여러개 존재하는 것 1. 생성자 생성자에 대하여 이전에 잠깐 다루었다. 생성자 = 객체 생성시 바로 실행되는 메소드 로 정의하였는데, 아래 글을 참고하도록 하자. JAVA의 Class (2) 생성자 Constructor Lesson point 1. 생성자 = 초기 자동 실행 메소드 2. 생성자 이름 = 클래스 이름 1. 생성자 JAVA의 생성자 Constructor란 무엇이며 어떤 때 사용하는가? 생성자는 메소드다. 다만, 실행되는 시점이 정해져있 z2soo.tistory.com 2. 생성자 오버로딩 오버로딩이란 메소드가 같은 이름으로 여러개 존재하는 것이다. 상황에 따라 다른 동작을 하게 만든다. 생성자는 아래와 같이 두 타입으로 구분되며, 둘..