본문 바로가기

Java

(96)
Java 배열을 활용한 객체 만들기 배열에 대한 기본 개념 복습동일한 데이터 타입을 순서에 따라 관리하는 자료 구조정해진 크기가 있음 (배열)요소의 추가와 제거시 다른 요소들의 이동이 필요함배열의 i 번째 요소를 찾는 인덱스 연산이 빠름JDK 클래스 : ArrayList, Vectorpackage structure;/** * 배열을 활용한 클래스를 설계 물론 이미 자바 표준 API 개발자들이 잘 만들어 준 클래스들이 존재한다. * 하지만 직접 기능을 확장해서 만들어보자. */public class TencoIntArray { int[] intArr; int count; // 배열 안에 들어간 요소의 갯수 public final int ARRAY_SIZE; public static final int ERROR_NUM = -99999999; ..
자료구조 개론 ( Data Structure ) 자료구조(Data Structure)란?자바에서 자료구조는 데이터를 효율적으로 구성하고 조작하기 위한 방법을 제공하는 클래스와 인터페이스의 모음이다. 이러한 자료구조는 다양한 요구 사항에 맞게 설계되어 있으며, 데이터를 삽입, 삭제, 검색, 정렬 등의 작업을 효율적으로 수행할 수 있도록 지원한다. 자바에서 제공하는 자료구조에는 배열, 리스트, 스택, 큐, 집합, 맵 등이 포함된다. 이러한 자료구조는 다양한 상황에서 사용될 수 있으며, 프로그램의 성능과 효율성을 향상시키는데 중요한 역할을 한다. 또한 자바 컬렉션 프레임워크 (Collection Framework)는 다양한 자료구조를 표준화하여 제공하여, 개발자들이 더욱 쉽게 자료구조를 활용할 수 있도록 도와준다.프로그램에서 사용할 많은 데이터를 메모리 상..
자바 Multi - Threading 자바 Multi - Threading 이란?자바에서 멀티 쓰레딩(Multi - Threading)은 프로그램의 여러 부분이 동시에 실행되도록 하는 기술이다. 이를 통해 자원의 효율적 사용과 응용 프로그램의 반응성 향상을 달성할 수 있다. 멀티 쓰레딩은 하나의 프로세스 내에서 여러 개의 쓰레드를 생성하여 각 쓰레드가 작업을 수행하도록 함으로써 병렬 처리를 가능하게 합니다.여러 thread가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과thread는 각각 자신만의 작업공간을 가진다. (call stack)각 thread 사이에서 공유하는 자원이 있을 수 있다. (자바에서는 static instance)여러 thread가 자원을 공유하여 작업이 수행되는 경우 서로 자원을 차지하려는 race c..
자바 Thread 쓰레드 (Thread)란 뭘까?process란? 지정되어 있는 프로그램이 실행되면 OS (운영체제)로 부터 메모리를 할당받아 프로세스 상태가 된다.하나의 프로세스는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread이다.쓰레드를 추가로 만들어서 사용하는 방법1. 첫번째 방법은 Thread 클래스를 상속하여 만들 수 있다.package useful.ch05;/** * 쓰레드를 추가하는 방법 - 상속을 활용할 수 있다. * Thread -> Runnable -> run() */public class MyThread extends Thread { // 우리가 정의한 클래스에서 run() 메서드 재정의 할 수 있다. // 쓰레드를 사용할 때 알아야 하는 필수 개념 - 그냥 외우자..
Exception ( 예외처리 ) package useful.ch03;import java.util.Scanner;public class FinallyHandling { public static void main(String[] args) { // try - catch - finally // 언제 finally 사용해야 해? // 자원을 반드시 닫아 주어야 할 때 등등... Scanner scanner = new Scanner(System.in); try { int result = scanner.nextInt(); System.out.println("result : " + result); } finally { scanner.close(); System.out.println("자원 해제 완료"); } }/..
String, StringBuffer 클래스 StringString 선언하는 두가지 방법String str1 = "Hello";String str2 = new String("Hello");String str3 = new String("Hello");힙 메모리에 인스턴스로 생성되는 경우와 상수 풀 (constant pool)에 있는 주소를 참조하는 두 가지 방법힙 메모리는 생성될 때 마다 다른 주소 값을 가지지만, 상수 풀의 문자열은 모두 같은 주소 값을 가짐String Constant Pool 이란? package useful;public class StringTest { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new Strin..
Object 클래스와 equals 메서드 Object ( 오브젝트 ) 클래스란?Object 모든 클래스의 최상위 클래스이다. 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다. 자바에서는 단일 상속만을 지원한다고 하였는데 Object 클래스를 제외한 단 하나의 상속만 받을 수 있다.Object 클래스는 java.lang 패키지안에 존재한다.import.java.lang.*; 프로그래밍시 import 하지 않아도 자동으로 import 된다.많이 사용하는 기본 클래스들이 속한 패키지이며 String, Integer, System… 등이 존재한다.Object  클래스의 메서드 활용Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다. 재정의 할 수 없는 메서드는 final 로 선언..
인터페이스 ( interface ) 고찰 1. 인터페이스를 통한 동물 경주 게임 설계 해보기여기에 거북이, 토끼 클래스가 존재한다. 어느 날 둘이 경주 게임에 참가하고자 합의를 했다. 단, 참가를 하기 위해서는 본인에 이름과 경주 속도를 알려주는 장치를 달아야 중개가(일종의 스펙) 가능하다. 이 상황을 코드로 작성해 보자.package basic.ch22;public class Rabbit implements RacePaticipant{ private final int speed = 10; @Override public String getName() { return "엉금엉금 토끼"; } @Override public int getSpeed() { return speed; }}package basic.ch22;public interface..

728x90