
프로세스(Process)와 쓰레드(Thread) 프로세스란 '실행중인 프로그램(Program)'이다. 프로그램을 실행하면 OS로 부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다. 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스(Multi-threaded process)' 라고 한다. 쓰레드(Thread) 구현과 실행 쓰레드를 생성하는 방법은 크게 두가지가 있다. Thread 클래스를 사용 Runnable 인터페이스를 사용 Runnable 과 Thread 모두..

예외 클래스의 구조 Throwable 클래스를 상속받는 클래스는 Error와 Exception 이 있는데 모든 예외의 최고 조상 클래스는 당연히 Exception 이다. java.lang.Throwable class가 Java Exception의 Root Class이다. Throwable 클래스에 선언되어 있고, Exception 클래스에서 오버라이딩한 메소드는 10개가 넘으며, 가장 많이 사용되는 메서드는 다음과 같다. getMessage() 예외 메시지를 string 형태로 제공받는다. 예외가 출력되었을때 어떤 예외가 발생되었는지 확인할 때 매우 유용하다. 메시지를 활용하여 별도의 예외 메세지를 사용자에게 보여주려고 할 때 좋다. toString() 예외 메세지를 String 형태로 제공 받는다. g..

예외(Exception) 이란? 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 자바에서는 에러(Error)라고 한다. 에러는 JVM 실행에 문제가 생겼다는 것이므로, 프로그램은 실행 불능이 된다. 프로그래머는 이러한 에러에 대처할 방법이 없다. 예외(Exception)이란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인하여 발생하는 오류이다. 예외가 발생하면 프로그램이 종료된다는 점은 에러와 동일하나, 예외처리(Exception Handling)을 통해 프로그램을 종료하지 않고 정상 실행상태를 유지할 수 있다. 예외(Exception) 예시 존재하지 않는 파일을 열려고 시도하는 경우 FileNotFoundException 예외가 발생한다. BufferedRea..
인터페이스(Interface) 인터페이스는 일종의 추상 클래스이다. 인터페이스는 추상 클래스처럼 추상 메서드를 갖지만 추상 클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상 메서드와 상수만을 멤버로 가질 수 있다. 추상 클래스를 부분적으로만 완성된 '미완성 설계도' 라고 한다면, 인터페이스는 구현된 것은 아무것도 없고 밑그림만 그려져 있는 '기본 설계도' 이다. 인터페이스 정의 interface 인터페이스 이름 { public static final 타입 상수 이름 = 값; public abstract 메서드 이름(매개변수 목록); } inteface 키워드 사용 interface에도 클래스와 같이 접근 제어자로 public ..
접근 지정자(접근 제한자)(Access modifier) 접근 지정자는 객체 지향의 4대 개념(추상화, 캡슐화, 상속, 다형성)에서 캡슐화와 관련되어 있다. 즉, 캡슐화라는 개념이 포함하고 있는 '은닉화'와 밀접한 관련이 있다. 접근 지정자에는 public, protected, default, private 4종류가 있다. 접근 지정자의 접근 가능 범위 private < default < protected < public 접근 지정자 접근 범위 동일 클래스 동일 패키지 다른 패키지의 자식 클래스 다른 패키지 public 접근 제한 없음 O O O O protected 동일 패키지/상속 받은 서브 클래스 O O O X default 동일 패키지 O O X X private 동일 클래스 O X X X ☞ p..

클래스 패스(CLASSPATH)란? JVM이 프로그램을 실행할 때, 클래스파일을 찾는데 기준이 되는 파일 경로를 의미한다. *.class 실행 파일(바이트 코드)을 찾는 경로이다. 만약 클래스 패스를 설정하지 않았다면, 디폴트는 현재 경로를 바라보게 된다. 소스 코드를(.java)를 컴파일 하면 소스코드가 '바이트 코드(바이너리 형태의 .class 파일)'로 변환한다. java runtime(java 또는 jre)로 이 .class 파일에 포함된 명령을 실행하려면, 먼저 이 파일을 찾을 수 있어야 한다. 이때, .class파일을 찾을 때 classpath 에 지정된 경로를 사용한다. classpath는 .class 파일이 포함된 디렉토리와 파일을 콜론으로 구분한 목록이다. java runtime은 이 c..
import 키워드 같은 패키지에 속하는 클래 들은 아무런 조건 없이 다른 클래스를 사용할 수 있지만, 다른 패키지에 속하는 클래스를 사용하는 경우 두 가지 방법 중 하나의 방법으로 접근이 가능하다. 패키지와 클래스를 모두 기술 package example; // 현재 패키지는 'example' public class Main{ pkg.Person person = new pkg.Person(); // pkg 패키지의 Person 클래스를 가져왔다. } ☞ 이렇게 하는 경우 패키지 이름이 길어지거나 많은 양의 외부 클래스를 사용해야 할 경우 코드가 길어지고 난잡해 질 수 있다. ☞ 서로 다른 패키지에 동일한 클래스 이름이 존재하고, 두 패키지가 모두 import 되어 있을 경우 자바 컴파일러가 어떤 패키지..

패키지(Package) 자바에서 패키지(package)란 클래스와 인터페이스의 집합을 의미한다. 서로 관련이 있는 클래스와 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 된다. 자바에서 패키지는 물리적으로 하나의 디렉터리를 의미한다. 따라서, 하나의 패키지에 속한 클래스나 인터페이스 파일은 모두 해당 패키지 이름의 디렉터리에 포함되어 있다. 클래스 이름이 동일해도 패키지가 다르면 다른 클래스로 인식한다. 이러한 패키지는 다른 패키지를 포함 할 수 있으며, 디렉터리의 계층 구조는 점(.)으로 구분된다. package 상위패키지.하위패키지.클래스; // 패키지 선언: package 패키지 이름; 패키지(Package) 이름 규칙 숫자로 시작하거나, '_' 와 '$' 를 제외한 특수 문자 사용..
- Total
- Today
- Yesterday
- CS
- 자료구조와알고리즘 23강
- 이진탐색
- 완전탐색
- 이차 리스트
- 알고리즘
- https
- It
- 프로세스 주소공간
- 스터디
- 리스트2
- 자료구조
- 프로그래머스강의
- 파이썬
- 데이터베이스
- 연결리스트활용
- 프로그래머스
- 네트워크
- 보험
- CS.
- 리스트
- Greedy sort
- 리스트 복사
- 리스트함축
- 코드업 기초
- 정렬
- SW
- 운영체제
- 자바
- CS 스터디
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |