개발 공부 (32) 썸네일형 리스트형 클래스와 인스턴스의 차이 클래스 클래스는 객체를 만들기 위한 템플릿 또는 청사진이다. 클래스는 객체의 구조와 행동을 정의하며 여기서 구조는 변수로, 행덩은 메소드로 표현된다.일종의 개념적 또는 추상적인 틀이며 하나의 정의일 뿐이다.ex) [자동차] class - 브랜드, 모델, 색상 - 속성- 주행, 정지 - 행동(메소드) 인스턴스 인스턴스는 클래스에 의해 생성된 객체이다. 클래스를 사용하여 실제 메모리에 할당된 것. 클래스를 바탕으로 만들어진 구체적인 실체이다. 클래스의 정의를 바탕으로 실제로 생성된 많은 객체 중 하나이다. ex) [자동차] class를 바탕으로 만든 특정한 자동차 ( 현대 아반떼) java의 컴파일 과정 사용자가 .java 를 작성. 자바 컴파일러가 위의 코드를 바이트 코드(.class)로 변환한다. 컴파일 된 바이트 코드를 JVM(Java 가상 머신)으 클래스로더로 전달한다. 클래스 로더는 바이트코드를 메모리 영역에 담는 운반기 역할을 한다. 클래스 로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역(Runtime Data Area의 Method Area), 즉 JVM의 메모리에 올린다. 실행엔진(Execution Engine)은 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행한다. MVC 모델? MVC : Model-View-Controller 모델, 뷰, 컨트롤러로 소프트웨어의 구성 요소를 세 가지 역할로 분리 한 것을 말한다. 모델 데이터와 비즈니스 로직을 담당함. DB와의 상호작용 데이터의 유효성 검사, 조작 등을 처리한다. 뷰 사용자에게 시작적으로 표현하는 역할. 컨트롤러 사용자의 입력을 처리하고 그에 맞는 모델의 업데이트와 뷰의 업데이트를 조정한다. 뷰를 통해 사용자가 어떠한 동작을 요청하면 이를 감지하고 해당 동작에 맞는 모델의 업데이트를 수행하고 뷰를 업데이트 한다. 장점으로는 유지 보수성과 재사용성을 높이는 장점을 가지고 있고 또 인터페이스오 비즈니스 로직이 독립적으로 개발될 수 있어 작업을 효율적으로 분담할 수 있다. 또한 새로운 기능을 추가할 때 해당 기능에 맞는 세로운 모델,.. HTTP, HTTPS? HTTP 데이터를 주고 받는 양식을 정의한 통신 규약 중 하나. 전 세계에서 널리 쓰이는 통신 규약이다. 컴퓨터끼리 데티터를 주고 받을 때 정해둔 약속을 의미함. HTTPS 기본적으로 HTTP에 보안 기능을 추가한 프로토콜이다. SSL, TLS 프로토콜을 사용해 데이터를 암호화 한다. 즉, 서버와 브라우저 사이에 있는 모든 통신을 암호화 하여 보안성을 높인 것이다. 요즘은 모든 웹사이트는 웬만하면 HTTPS를 쓰는 듯. 그렇다면 무엇이 다른가요? HTTPS도 기본적으로 HTTP와 동일하게 작동하나 위에서 말 했듯이 보안 기능이 추가 되었다. 작동 방식 HTTP HTTPS 브라우저가 서버에게 요구(Request) → 서버에서는 원하는 데이터가 있는지 확인 있으면 응답(Response), 없으면 없는 데이터.. CORS란? CORS란 Cross-Origin Resource Sharing의 약자 웹 페이지가 다른 도메인의 자원에 접근할 수 있게 하는 보안 메커니즘. 기본적으로 웹 브라우저는 같은 출처 정책(Same-Origin Policy)을 사용하여, 스크립트가 다른 출처(도메인, 프로토콜, 포트)의 리소스와 상호 작용하는 것을 제한한다. (프로젝트를 할 때 CORS에러가 뜨면 컴퓨터 부셔버리고 싶었다.) CORS를 구현하는 방법은 아래와 같다. 서버 측 설정: 서버는 Access-Control-Allow-Origin 헤더를 사용하여 특정 출처(또는 모든 출처)의 접근을 허용할 수 있습니다. 예를 들어, 서버가 `Access-Control-Allow-Origin: *`를 응답 헤더에 포함시키면 모든 출처의 요청을 허용하게 .. 라이프사이클(클래스형 vs 함수형), react hooks React에서는 주로 두 가지 유형의 컴포넌트를 사용 클래스형 컴포넌트(Class Components): 클래스형 컴포넌트는 ES6 클래스를 사용하여 정의되며, React.Component를 상속받는다. 라이프사이클 메소드를 사용할 수 있으며, 내부 상태를 가질 수 있다. 클래스형 컴포넌트의 주요 라이프사이클 메소드는 다음과 같다. constructor: 컴포넌트 생성 시 호출 componentDidMount: 컴포넌트가 DOM에 마운트 된 직후 호출 componentDidUpdate: 컴포넌트가 업데이트 된 후 호출 componentWillUnmount: 컴포넌트가 언마운트되고 파괴되기 직전 호출 shouldComponentUpdate: 컴포넌트가 업데이트되기 전 호출, false를 반환하면 해당 업데.. React에서 State, Props, 리렌더링 발생 조건 및 성능 최적화 React 애플리케이션에서 State와 Props를 사용하여 컴포넌트를 관리하며, 불필요한 리렌더링을 최소화하기 위해 다양한 최적화 전략을 사용할 수 있다. 렌더링 발생 조건을 이해하고 적절한 최적화 기법을 적용함으로써 애플리케이션의 성능을 개선할 수 있다. State 컴포넌트의 동적 데이터 관리를 위한 객체 클래스 컴포넌트에서는 this.state를 사용하며, 함수형 컴포넌트에서는 useState 훅을 사용 상태 변경 시 setState 메서드나 useState의 setter 함수를 사용하여 변경 Props 부모 컴포넌트로부터 전달받은 속성 컴포넌트 간의 데이터 전달과 상호작용을 위해 사용 읽기 전용으로, 자식 컴포넌트에서 직접 수정할 수 없음 리렌더링 발생 조건 State의 변경: 컴포넌트의 내부 상.. React Component -2 1. HOCs(Higher-Order Components) : 다른 컴포넌트를 인자로 받아 새로운 컴포넌트를 반환하는 함수. 기능이나 상태를 재사용하는데 도움이 되며 코드의 중복을 줄이고 유지보수를 용이하게 할 수 있다. 일반적으로 공통 로직을 캡슐화하고 이를 다양한 컴포넌트에 적용할 수 있다. function withHOC(WrappedComponent) { return class extends React.Component { render() { return ; } }; } 2. Render Props: 하위 컴포넌트에게 어떻게 렌더링할지 결정할 수 있는 함수를 전달하는 패턴. 컴포넌트 간의 상태 공유와 기능 재사용을 가능하게 한다. Render Props를 사용하는 컴포넌트는 자식 요소로 함수를 전달.. 이전 1 2 3 4 다음