라이브러리 vs 프레임워크간단한 정리라이브러리, 프레임워크 둘다 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것라이브러리폴더명, 파일명에 대한 규칙이 없고, 프레임워크에 비해 자유로움ex.) 자동차(창문열기, 경로 변경 등이 자유롭다, 그러나 제공되는 서비스는 별로 없다.), axio, React.js프레임워크폴더명, 파일명에 대한 규칙이 있고, 라이브러리에 비해 더 엄격함ex.) 비행기(창문열기, 경로변경 불가능, 그러나 승무원이 제공해주는 서비스가 있음), vue.js, Django제대로된 정리프레임워크와 라이브러리의 차이우리가 작성하는 코드와의 관계에 있어서 차이가 있다.프레임워크내가 작성한 코드가 프레임워크를 호출하는 것이 아니라, 프레임워크가 필요할 때, 내가 작성한 코드를 호출한다.프레임..
CS/그외
오버로딩(Overloading)이름이 같아도 매개변수 타입, 개수, 순서를 다르게 해서 같은 이름이더라도 여러 개의 함수를 정의할 수 있는 것프로그램의 유연성을 높이고, 코드를 깔끔하게 만들어 준다.같은 클래스 내에서 사용됨오버라이딩(Overriding)부모(상위) 클래스에서 가지고 있는 메소드를 자식(하위) 클래스가 재정의(override)하는 것 → 상속 관계에서 사용ex.) 상속 관계에서의 오버라이딩, 인터페이스를 구현한 구체 클래스에서의 메소드 오버라이딩메소드 오버라이딩 조건메소드 이름, 매개변수, 반환 타입 → 같아야 한다.접근 제어자 → 상위 클래스 메소드보다 더 제한적이면 안된다.접근 제어자private default(package-private) protected public모든 외부 호출..
static → 정적클래스의 인스턴스가 아니라 클래스에 속하며 클래스의 변수, 메소드 등을 공유하는데 사용된다.이를 통해 해당 클래스에서 만들어지는 객체 사이에서 중복되는 메소드, 속성을 효율적으로 정의할 때 쓰인다.static으로 선언해서 명시적으로 이 클래스의 객체들 사이에서 사용되는 메소드, 속성이라는 것을 알려줄 수 있다는 장점이 있다.static 변수static 변수 = 정적 변수 = 클래스 변수한 클래스에서 사용하는 공용 변수 느낌static 변수는 메소드 영역에서 관리된다.멤버 변수(필드)의 종류public class Data3 { public String name; // 인스턴스 변수 public static int count; //static 변수}static 변수 → 인스..
세상의 모든 사물을 단순하게 추상화해보면 속성(데이터)과 기능 2가지로 설명할 수 있다.클래스란?객체를 만들어 내기 위한 틀, 설계도이며 만들어 낼 객체의 속성(데이터, 멤버 변수)과 기능(메소드)의 집합을 담아 놓은 것객체란?클래스라는 설계도를 사용해서 만들어지는 실체클래스로 선언된 변수를 객체라고 한다.각 객체에는 멤버 변수의 값에 다른 값이 들어갈 수 있다.객체는 자신의 메소드를 통해 자신의 멤버 변수에 접근할 수 있다.객체의 메소드 내부에서 접근하는 멤버 변수는 객체 자신의 멤버 변수다.Person b; // 객체 생성 인스턴스란?객체가 메모리에 할당된 상태런타임에 구동되는 객체런타임이란 프로그램이 실행될 때 그 프로그램이 머무는 공간인스턴스는 AWS 클라우드의 가상 서버라는 말로도 쓰인다.b =..

현장실습 중 프로젝트를 진행하다가 동기, 비동기 개념과 맞닥뜨렸다.원래 알고 있는 개념이었는데, 오랜만에 봐서 그런가? 갑자기 헷갈려서 급하게 공부를 했다.지금은 어느 정도 이해했지만, 나중에 또 까먹을 것 같아서 개념 정리를 해보려고 한다. 동기 직렬적으로 일을 처리한다.요청이 들어오면 순차적으로 작업을 수행하고, 해당 작업이 수행중이면 다음 작업은 대기한다.만약 서버에 1억개의 요청이 들어왔다고 해보자.1억개의 요청을 처리해야 하는 서버가 동기식으로 되어 있다면 1억번째 사람은 앞의 9999만9999명의 요청이 끝날 때까지 기다려야 한다. 비동기 병렬적으로 일을 처리한다.요청이 들어오면, 해당 요청에 의한 작업이 끝나지 않았더라도 계속 다른 요청을 받는다.그리고 들어온 요청에 대한 작업이 끝났다는..