본문 바로가기

반응형

DEVELOPER/Java

(56) PORTFOLIO GITHUB 방명록
[JAVA 파헤치기] 객체 지향, 클래스, 객체 개념 다루기 DEVELOPER/Java / 2022. 3. 7. 1. 객체지향 언어 자바(Java)의 특징인 객체지향에 대해서 알아보도록 하겠습니다. 객체 지향 프로그래밍(Object-Oriented Programming,OOP)은 여러 개의 독립된 단위, 즉 "객체(Object)"들의 모임으로 파악하는 것입니다. 다시 말해서 프로그램을 수많은 객체라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식입니다. 여기서 객체는 '실제로 존재하는 것'입니다. 즉 어떠한 데이터(실체)와 관련된 동작을 포함한 개념입니다. 예를 들어 우리 주변에서 볼 수 있는 책상, 의자, 자동차, 고객 등과 같습니다. 객체지향이론에서는 사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주합니다. JavaScript : 프로토타입 객체지향 Python : ..
Thread DEVELOPER/Java / 2021. 5. 14. Thread 란? process 실행 중인 프로그램이 실행되면 OS로부터 메모리를 할당받아 프로세스 상태가 됨 thread : process는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread ' 하나의 프로그램이 돌아간다 = 하나 이상의 thread를 갖고 있다 ' multi-threading 여러 thread가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과 thread는 각각 자신만의 작업 공간을 가짐( context ) 각 thread 사이에서 공유하는 리소스가 있을 수 있음(자바에서는 static instance) 여러 thread가 리소스를 공유하여 작업이 수행되는 경우 서로 자원을 차지하려는 race condition이 발생할 수 있음 이렇게 여..
직렬화(serialization) DEVELOPER/Java / 2021. 5. 11. serialization 이란? 인스턴스의 상태를 그대로 파일로 저장하거나 네트워크로 전송(serialization)하고 이를 다시 복원(deserialization) 하는 방식 자바에서는 보조 스트림을 활용하여 직렬화를 제공 ObjectInputStream과 ObjectOutputStream ObjectInputStream(InputStream in) : InputStream을 생성자의 매개변수로 받아 ObjectInputStream을 생성 ObjectOutputStream(OutputStream out) : OutputStream을 생성자의 매개변수로 받아 ObjectOutputStream을 생성 ① Serializable 인터페이스 직렬화는 인스턴스의 내용이 외부로 유출되는 것이므로 프로그래머가 해..
I/O 스트림 정의 DEVELOPER/Java / 2021. 5. 9. 입출력 스트림 네트워크에서 자료의 흐름이 물의 흐름과 같다는 비유에서 유래 자바는 다양한 입출력 장치에 독립적으로 일관성있는 입출력 스트림을 통해 제공 입출력이 구현되는 곳: 파일 디스크, 키보드, 마우스, 네트워크, 메모리 등 입출력 스트림의 구분 대상 기준 : 스트림/ 출력 스트림 자료의 종류 : 바이트 스트림/ 문자 스트림 기능 : 기반 스트림/ 보조 스트림 ① 입력 스트림과 출력 스트림 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림 출력 스트림 : 대상으로 자료를 출력하는 스트림 @스트림의 종류 입력 스트림 : FileInputStream, FileReader, BufferedInputStream, BufferReader 등 출력 스트림 : FileOutputStream, FileWrit..
자바의 예외 처리 - 로그 남기기(log) DEVELOPER/Java / 2021. 5. 9. Logging 시스템 운영에 대한 기록 오류가 발생 했을 때 그 오류에 대한 대한 기록을 남겨 디버깅을 용이하게 함 로그 파일에 기록하는 코드를 추가하여 필요한 정보가 로그로 남을 수 있도록 함 디버깅, 시스템 에러 추적, 성능, 문제점 향상들을 위해 사용 너무 적은 로그 : 정확한 시스템의 상황을 파악하기 어려움 너무 많은 로그 : 빈번한 file I/O의 오버헤드와 로그 파일의 백업 문제 등 java.util.logging 자바에서 기본적으로 제공되는 log package 파일이나 콘솔에 로그 내용을 출력 가능 jre/lib/logging.properties 파일을 편집하여 로그의 출력방식 로그 레벨을 변경 가능 로그 레벨 : server, warning, info, config, fine, fine..
예외 처리 미루기 DEVELOPER/Java / 2021. 5. 8. 앞에서 정리한 예외 처리 방법에서 추가로 다른 방법이 있다. 그것은 throws를 이용하여 처리를 미루는 방법인데.. 다시 말하면 해당 문장에서는 처리를 하지 않고, 해당 메서드를 사용하는 곳에서 처리를 하게 하는 것이다. throws를 사용하는 예제 public class ThrowsExeption { public Class loadClass(String fileName, String className) throws FileNotFoundException, ClassNotFoundException { FileInputStream fis = new FileInputStream(fileName); Class c = Class.forName(className); return c; } public static..

반응형