[개발상식] 객체 지향 프로그래밍이 무엇인가?> ORM이 무엇인가
- 개념
세상의 개념(프로그래밍에 필요한 데이터)를 추상화시켜서 상태,행위(변수,메소드)를 가진 객체(클래스) 를 만든다.
- 장점
1) 코드 재사용: 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있음.
2) 유지보수 : 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아 수정해야하는 반면 객체 지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수혹은 메서드로 있기 때문에 해당 부분만 수정하면 됨.
3) 클래스단위로 모듈화 : 대형 프로젝트처럼 여러명, 여러회사에서 개발이 필요할 시 업무 분담하기 쉽다.
- 단점
1) 객체가 많으면 용량이 커질 수 있음
2) 설계시 많은 시간과 노력이 필요
클래스 vs 인스턴스
추상화를 거쳐 변수와 메소드로 설계된 것 (속성 +행위) / 클래스로 정의된것을 실제 메모리에 할당 된것
추상화란? : 세계를 클래스로 설계하는 행위를 추상화라고 한다.
[운영체제] 프로세스와 스레드의 차이를 설명해보아라. > 자바의 스레드 사용방법과 이용 경험
1) 프로세스 : 메모리에 올라가서 실행되고 있는 프로그램 단위
2) 스레드 : 프로세스내부에서의 실행단위
1-1) 멀티 프로세스 :
- 공유하는 리소스를 가지지 않는 독립된 공간에 프로세스들이 생성된다.
따라서_1) IPC등의 통신 방법을 사용해서 데이터를 공유해야 한다.
따라서_2) 새로운 프로세스 할당 시에 기존의 프로세스 데이터를 따로 저장하고 가져오는 행위인 컨텍스트 스위치를 해야한다. 비용이 많이든다.
2-1)멀티 스레드 :
- StackArea 이외의 모든 공간을 함께 공유하고 이를 통해 데이터를 공유한다.
Tip) 자바는 JVM 의 멀티쓰레드 기반
[웹] 프론트엔드에서 웹페이지가 구성되는 단계를 설명해보아라 > 백엔드 돌아가는과정
- HTML이 웹페이지의 구조를 결정하고,
- CSS가 사용자 화면에 드러날 모양을 만들고
- JavaScript가 사용자와 상호작용하는 요소를 결정 짓습니다.
[네트워크] OSI 7 Layer Reference Model(OSI 7 계층)을 설명해보아라 >TCPUDP 차이
물리데이터네트워크 전송세션표현응용
물데네 전세표응네트워크 관리자는 어떤 문제의 원인이 어디에 있는지 범위를 좁힐 수 있다.예를 들어 물리적인 문제인지 아니면 응용프로그램과 관련이 있는지 쉽게 파악할 수 있다. 이는 컴퓨터 프로그래머에게도 도움이 된다. 응용프로그램 개발 시 다른 어떤 계층에 작업이 필요한지 쉽게 파악할 수 있기 때문이다.
'개발론' 카테고리의 다른 글
커넥션풀이 뭘까 그리고 왜 사용할까 (0) | 2022.03.03 |
---|---|
MSA 에 대해서 (0) | 2021.03.15 |
도메인 주도 설계 ( Domain Driven Design ) (0) | 2021.01.11 |
개발할때 가장 고민해야하는것 (0) | 2021.01.06 |
TDD in django / model test (0) | 2020.11.17 |