본문 바로가기

JAVA

(7)
[ 객체지향의 사실과 오해] 03 / 타입과 추상화 해당 포스트는 객체지향의 사실과 오해를 공부하기 위해 정리해놓은 글입니다. 자세한 내용은 해당 책을 참조해주세요. http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788998139766 객체지향의 사실과 오해 - 교보문고 역할, 책임, 협력 관점에서 본 객체지향 | 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형 www.kyobobook.co.kr ​타입과 추상화 추상화를 통한 복잡성 극복 추상화의 목적은 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성을 극복하는 것. 불필요한 부분을 도려내가면서 사물의 놀..
[ 객체지향의 사실과 오해] 02 / 이상한 나라의 객체 해당 포스트는 객체지향의 사실과 오해를 공부하기 위해 정리해놓은 글입니다. 자세한 내용은 해당 책을 참조해주세요. http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788998139766 객체지향의 사실과 오해 - 교보문고 역할, 책임, 협력 관점에서 본 객체지향 | 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형 www.kyobobook.co.kr 객체지향과 인지 능력 객체란 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것. 객체지향 패러다임의 목적은 현실 세계를 모방하는 ..
[ 객체지향의 사실과 오해] 01 / 협력하는 객체들의 공동체 해당 포스트는 객체지향의 사실과 오해를 공부하기 위해 정리해놓은 글입니다. 자세한 내용은 해당 책을 참조해주세요. http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788998139766 객체지향의 사실과 오해 - 교보문고 역할, 책임, 협력 관점에서 본 객체지향 | 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형 www.kyobobook.co.kr 협력하는 객체들의 공동체 객체지향의 목표는 실 세계를 모방하는 것이 아니다. → 새로운 세계를 창조하는 것. 객체를 현실 세계의 생명체에 비교해 설명하는 것은 상태와..
[Java] Optional 클래스 Optional 클래스란? Optional 제네릭 클래스로 "T타입의 객체"를 감싸는 래퍼 클래스. Optional타입의 객체에는 모든 타입의 참조변수를 담을 수 있습니다. Optional클래스는 모든 객체를 감싸기 때문에 Null인지 아닌지 일일이 확인하지 않아도 Optional에 정의된 메서드를 통해서 간단히 처리 가능합니다. if문으로 체크하지 않아도 NullPointException이 발생하지 않게 간결하고 안전한 코드를 작성 가능합니다. NullPointerException 예외 발생 상황 class Friend{ String name; Company cmp; public Friend(String n, Company c){ name = n; cmp = c; } public String getNa..
[Java] 이클립스(Eclipse)에 Lombok을 설치해보자! @Getter, @Setter 애노테이션을 지정해도 생성되지 않아 삽질하던 중 Lombok을 이클립스에 설치를 해야 한다는 사실을 알게 되었다. 설치 방법은 매우매우 간단했다. 사이트에 접속 https://projectlombok.org/download Download를 클릭해서 lombok.jar 파일을 받는다. 콘솔창(cmd)에 lombok.jar 파일이 있는 디렉토리로 이동한다. java -jar lombok.jar 을 실행한다. specify location을 클릭해 eclipse.exe 파일을 선택한다. Install / Update를 클릭한다. 설치 완료 후 이클립스를 재부팅 해준다. Maven을 사용 하는 경우 Pom.xml에 라이브러리 추가 1 2 3 4 5 6 org.projectlomb..
[Java] 자바 가상 머신 - JVM(Java Virtual Machine) JVM이란? 자바를 실행하기 위한 가상의 컴퓨터 어느 운영체제상에서도 실행할 수 있도록 한다. 운영체제 입장에서 자바 가상 머신 운영체제의 관점에서는 자바 가상 머신도 하나의 프로그램이다. 운영체제가 일반 프로그램에게 4GB의 메모리 공간을 할당해준다면 JVM에게도 4GB 메모리 공간을 할당해준다. 자바 프로그램이 두 개 실행되면, 가상 머신도 두 개가 실행이 된다. 자바 가상머신의 메모리 모델 메서드 영역(Method Area) 자바 바이트 코드(클래스에 대한 정보) static 변수(클래스 변수)가 저장되는 영역 자바 바이트 코드(Java byte code) 자바 바이트 코드(Java byte code)란 자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다. 자바 컴파일러에 의..
[Java] 스레드 실행 중인 프로그램 가리켜 프로세스라고 한다. 프로세스 내에서 하나의 프로그램의 실행 흐름을 나타내는 것을 스레드라고 한다. 만약에 하나의 프로세스 안에서 3개의 스레드가 있다는 것은 스레드 3개가 각각의 실행 흐름을 가지고 있다는 것을 말한다. 우리는 스레드를 직접 만들지 않았지만 사용하고 있었다. main()메서드의 호출과 실행을 담당하기 위한 스레드가 자동 생성 되었던 것이다. 자바 프로그램을 실행 시키면 하나의 프로세스가 생성이 되고 그 안에 하나의 스레드가 만들어 져서 이 스레드에 의해서 main() 메서드가 실행이 되었던 것이다. 스레드 프로그램 내에서 실행 흐름을 이루는 최소의 단위 main 메서드의 실행도 하나의 스레드에 의해 진행이 된다. 스레드의 이해와 스레드의 생성 방법 1 2 3 4..