기술면접

    클래스(Class) vs. 객체(Object) vs. 인스턴스(Instance)

    클래스(Class) vs. 객체(Object) vs. 인스턴스(Instance)

    📌클래스(Class)클래스란, 객체를 만들어 내는 설계도 혹은 틀이다. 서로 연관되어 있는 변수, 메서드의 집합이다.class Animal { // 변수 String name; int age; // 메서드 void run(){ System.out.println(name + "달려"); } void eat(){...} } ❕ 클래스의 구성class 키워드를 이용하여 선언한다. 필드 = 멤버 변수 캡슐화의 원칙으로 클래스 외부에 어떤 변수나 메서드가 위치해서는 안된다. 캡슐화 : 캡슐로 감싸서 내부를 보호하듯이, 외부로부터의 접근을 막아서 안전하게 보호하는 것📌객체(Object)실세계에서 우리 주변에 있는 TV, 책, 의자, 사람 등 모든 것이 객체이다. 객체는 자신만의 고유한 상태와 행동을 가지며 서로 상..

    출처(Origin) | SOP | CORS

    출처(Origin) | SOP | CORS

    출처(Origin)URL에서 protocol, host, port를 묶어서 Origin이라 한다. localhost != 127.0.0.1 둘은 동일한 사이트로 연결되지만, URL을 문자열 값으로 비교하면 동일하지 않으므로, 다른 출처라고 판단한다.📌SOPSOP(Same-Origin Policy, 동일 출처 정책) : 동일한 출처 간에 API 등의 데이터 접근 및 리소스만 사용이 가능하도록 하는 보안 방식1️⃣ 사용자가 A라는 동일한 출처의 사이트에 정보를 가지고 요청을 하는 상황 2️⃣ 실수로 다른 출처인 사이트에 접속하게 되어 지니고 있던 정보가 유츨된다. 3️⃣ 이 정보를 가지고 악의적으로 A 사이트에 원치 않았던 요청을 하게 될 수 있다. XSS : 접속한 사용자의 브라우저에 악성 스크립트가 실행..

    [Git] Git Branch 전략 || Github Flow vs. Git Flow vs. GitLab Flow

    [Git] Git Branch 전략 || Github Flow vs. Git Flow vs. GitLab Flow

    ❕ Branch가지를 뻗어나가듯이, 다른 작업(브랜치)의 영향을 받지 않고 독립적으로 작업을 진행할 수 있는 공간이다. “독립적”이라는 특징을 가지고 있기 때문에 기능 구현 & 오류 수정 등 다양한 작업이 동시에 진행될 수 있다. ( master/main 브랜치 : 기본 브랜치 ) ❕ Branch 전략여러 명의 개발자가 하나의 저장소를 가지고 협업하는 환경에서, 효율적으로 관리하기 위해 각 브랜치에 대한 역할을 설정하고, 규칙을 정하는 것 등을 의미한다.어느 브랜치가 가장 최신인가어디서부터 끌어와서 개발을 시작해야 하는가어디로 push해야하는가등등의 상황을 줄이고자 사용된다.📌Github FlowGithub Flow는 Git Flow의 브랜치 전략이 매우 복잡하고 적용하기 힘들기 때문에 생기게 된 브랜치..