본문 바로가기

Java155

java 배열을 활용한 객체 만들기 - 2 1. 배열에 대한 기본 개념 복습동일한 데이터 타입을 순서에 따라 관리하는 자료 구조정해진 크기가 있음(배열)요소의 추가와 제거시 다른 요소들의 이동이 필요함배열의 i 번째 요소를 찾는 인덱스 연산이 빠름jdk 클래스 : ArrayList, Vector  배열을 활용해서 클래스를 설계 count는 요소의 갯수!  추가하는 기능을 설계하기 요소의 갯수가 배열의 사이즈보다 크지않게 방어적 코드를 작성한다. intArr[count] 요소에 inputData값을 넣어주고요소의 갯수의 값은 ++증감 연산자를 해준다.   지정한 인덱스 번호에 요소를 꺼내 주기꺼내려는 인덱스번호가 0보다 작거나 요소의 갯수의 -1보다 크면 안되기 때문에 방어적 코드를 작성해주고intArr[position]으로 꺼내려는 인덱스 번호를.. 2024. 5. 6.
자료구조 개론 - 1 1. 자료구조란 무엇인가? (Data Structure)자바에서 자료구조는 데이터를 효율적으로 구성하고 조작하기 위한 방법을 제공하는 클래스와 인터페이스의 모음입니다. 이러한 자료구조는 다양한 요구 사항에 맞게 설계되어 있으며, 데이터를 삽입, 삭제, 검색, 정렬 등의 작업을 효율적으로 수행할 수 있도록 지원합니다.자바에서 제공하는 자료구조에는 배열, 리스트, 스택, 큐, 집합, 맵 등이 포함됩니다. 이러한 자료구조는 다양한 상황에서 사용될 수 있으며, 프로그램의 성능과 효율성을 향상시키는 데 중요한 역할을 합니다. 또한 자바 컬렉션 프레임워크(Collection Framework)는 다양한 자료구조를 표준화하여 제공하여, 개발자들이 더욱 쉽게 자료구조를 활용할 수 있도록 도와줍니다. 정리프로그램에서 사.. 2024. 5. 5.
자바 multi-Threading 이란 - 5 1. 자바에서 멀티 스레딩(Multi-Threading)에 대해 알아 보자. 자바에서 멀티 스레딩(Multi-thrading)은 프로그램의 여러 부분이 동시에 실행되도록 하는 기술입니다. 이를 통해 자원의 효율적 사용과 응용 프로그램의 반응성 향상을 달성할 수 있습니다. 멀티 스레딩은 하나의 프로세스 내에서 여러 개의 스레드를 생성하여 각 스레드가 작업을 수행하도록 함으로써 병령 처리를 가능하게 합니다. 정리여러 thread가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과thread는 각각 자신만의 작업 공간을 가짐 ( call Stack )각 thread 사이에서 공유하는 자원이 있을 수 있음 (자바에서는 static instance)여러 thread가 자원을 공유하여 작업이 수행되는 .. 2024. 5. 2.
자바 Thread - 4 1. 쓰레드(Thread)란 뭘까?Thread 란? - process란? 저장되어 있는 프로그램이 실행되면 OS로 부터 메모리를 할당받아 프로세스 상태가 된다.  - 하나의 프로세스는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread이다. 그림1그림 2 2. 쓰레드를 추가로 만들어서 사용하는 방법을 알아 보자.1. 첫번째 방법은 Thread 클래스 상속하여 만들 수 있습니다.  쓰레드를 추가하는 방법 - 상속을 활용할 수 있습니다. Thread 안에 있는 메소드라서 extends Thread를 삭제하면 에러가 뜨는 모습.쓰레드가 가지고 있는 메서드 start() 호출 시키면 run메서드가 자동으로 동작하게 되어있음!!  try catch로 예외를 잡아줘야 한다. 기본적으로.. 2024. 5. 1.
나열된 수에서 최솟값 최대값 및 위치 구하기 연습문제! 문제 정의여러 개의 수가 배열에 있을 때 그 중 가장 큰 값과 가장 작은 값을 찾는다.배열의 몇 번째에 있는지 순서를 찾는다.반복문을 한번만 사용하여 문제를 해결한다.수의 예 : [10, 55, 23, 2, 79, 101, 16, 82, 30, 45]package useful.ch04;import java.util.Random;public class ArrayTest { public static void main(String[] args) { int[] arr1 = { 10, 55, 23, 2, 79, 101, 16, 82, 30, 45 }; int max1 = 0; int min1 = 100; int maxBox = 0; int minBox = 0; int i = 0; for (i = 0;.. 2024. 4. 30.
디자인 패턴 - 템플릿 메서드 패턴 추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 패턴을 말한다. Car 클래스 생성 추상메소드는 {}를 안씁니다. 그래서 메소드를 선언할 때 ();로 끝내면 된다. 템플릿 메서드 패턴의 핵심!메서드 앞에 final 키워드를 사용한다면 ~ 하위 클래스에서 재정의 할 수 없다!!!!Car를 상속 받아 Car에서 추상 메서드를 오버라이드해서 AI자동차에 맞게 재정의 한다. ManualCar도 마찬가지로 오버라이드해서 재정의 한다. 2024. 4. 30.