본문 바로가기
반응형

분류 전체보기72

[Java] 객체지향이란? 🔧 객체 지향 프로그래밍 OOP(Object Oriented Programming) 프로그램을 객체라는 기본 단위로 나누고 이 객체들 간의 상호작용을 기본 개념으로 하는 프로그래밍입니다. ﹟객체 지향 프로그래밍의 장점 코드의 재사용이 용이하다. 개발이 간단하다. 유지보수가 쉽다. 대규모 프로젝트에 적합하다. ﹟객체지향의 4가지 특징 1. 추상화(Abstraction) 인터페이스로 클래스들의 공통적인 특성(변수, 메서드)들을 묶어 표현한다. 인터페이스와 구현을 분리함으로써, 객체가 가진 특성 중 필수 속성만으로 객체를 묘사하고 유사성만을 표현한다. 자바에서 인터페이스, 추상클래스, 추상 메서드 2. 캡슐화(Encapsulation) 객체가 독립적인 역할을 할 수 있도록 데이터와 기능을 하나로 묶어 관리한다.. 2021. 8. 25.
[OS] 프로세스의 주소 공간 📍 프로세스 프로세스란 실행되고 있는 프로그램으로, 각 메모리 공간을 시스템으로부터 할당받습니다. 프로세스의 주소 공간은 코드, 데이터, 스택, 힙 네 가지 영역으로 구성됩니다. 이러한 주소 공간을 가상 메모리라고 부릅니다. ﹥ 코드(Code) 코드 영역은 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문, 상수 등이 지정됩니다. 컴파일 시에 결정되며 Read-Only 영역이기 때문에 코드를 함부로 변경할 수 없고 변경 시 오류를 발생시킵니다. ﹥ 데이터(Data) 프로그램이 구동되는 동안 항상 접근 가능한 변수가 저장되는 영역입니다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸합니다. 실행 중에 전역 변수가 변경될 수 있기 때문에 Read-Write로 .. 2021. 8. 20.
[Java] 접근제한자 📍 접근제한자 (접근제어자) 접근제한자란 클래스 내에서 멤버의 접근을 제한하는 역할을 합니다. 접근제한자의 종류 자바에서의 접근제한자는 private > default > protected > public 총 네 가지가 있습니다. private (-) 가장 강력한 접근제한자 입니다. 오직 클래스 내부에서만 사용할 수 있으며, 외부클래스에서는 접근할 수 없습니다. default (~) 같은 패키지 내에서는 제한없이 접근할 수 있지만, 외부 패키지에서는 접근할 수 없습니다. 생성자를 선언할 때 public / private 생략 시 default 접근 제한을 가집니다. protected (#) 같은 패키지 내에서 제한없이 접근 가능합니다. 다른 패키지는 상속 구조(부모 자식 간의 관계)일 때만 접근할 수 .. 2021. 8. 19.
[OS] 프로세스(Process) 와 쓰레드(Thread) ✔️ 프로세스(Process)란? 프로세스를 알아보려면 먼저 프로그램에 대해 알아야 합니다. 프로그램이란 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태를 말합니다. 즉, 작업을 위해 실행할 수 있는 파일입니다. (윈도우의 .exe, 맥os의 .dmg) 💡 프로그램을 실행하는 순간 해당 파일은 컴퓨터 메모리에 올라가게 되고, 이 상태를 동적인 상태라고 부릅니다. 이 동적인 상태의 프로그램이 바로 프로세스입니다. 프로세스는 크게 코드 영역(code), 데이터 영역(data), 스택 영역(stack), 힙 영역(heap)으로 이루어져 있습니다. 코드 영역(code) : 코드 자체를 구성하는 메모리 영역 (프로그램 명령) 데이터 영역(data) : 전역 변수, 정적 변수, 배열 등.. 2021. 8. 13.
반응형