본문 바로가기

개발론

CS스터디 - 3월1주차

 [개발상식] 객체 지향 프로그래밍이 무엇인가?> 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 차이

물리데이터네트워크 전송세션표현응용

 

물데네 전세표응네트워크 관리자는 어떤 문제의 원인이 어디에 있는지 범위를 좁힐 수 있다.예를 들어 물리적인 문제인지 아니면 응용프로그램과 관련이 있는지 쉽게 파악할 수 있다. 이는 컴퓨터 프로그래머에게도 도움이 된다. 응용프로그램 개발 시 다른 어떤 계층에 작업이 필요한지 쉽게 파악할 수 있기 때문이다.