개발 언어 5

[개념정리] 추상 클래스 & 인터페이스 차이점 및 특징

* 공부와 업무 정리를 위해 포스팅 합니다.* 정확하지 않는 내용이 있을 수 있으니 참고해주시면 감사하겠습니다.Abstract ClassInterface인스턴스화 될 수 없는 클래스 (객체 생성할 수 없음)인스턴스화 될 수 없는 클래스 (객체 생성할 수 없음)abstract, non-abstract 메소드 선언모두 abstract 메소드 선언일부 메소드 구현 가능 및 일부는 추상적(abstract)으로 남김모든 메소드는 추상적(abstract) 으로 남김추상 메소드는 상속하는 하위 클래스에서 재정의(Overriding) 필요상속하는 하위 클래스에서 모두 재정의(Overriding) 필요  추상 클래스 특징> 추상 클래스는 직접 인스턴스화 될 수 없는 객체 지향 프로그래밍(OOP)의 특정 유형의 클래스이며..

[개념정리] 자바(JAVA) 상속(implements / extends)

* 공부와 업무 정리를 위해 포스팅 합니다.* 정확하지 않는 내용이 있을 수 있으니 참고해주시면 감사하겠습니다. 업무를 하면서 implements와 extends 로 상속된 소스를 많이 본다.그때마다 "상속 되었구나" 정도만 생각하고 넘어갔지만 자세한 개념 이해의 필요성을 느껴 정리해본다. - 클래스는 단 하나의 추상 클래스를 상속할 수 있고 여러 개의 인터페이스를 구현할 수 있다. - 추상 클래스는 객체 타입을 나타내고 인터페이스는 일련의 행동(동작)을 나타내기 때문이다.  - 선언만 있는 interface를 상속하여 재정의(Overriding)하여 사용 - implements 로 상속할 경우 해당 interface의 메소드를 모두 재정의해야 함 - class 파일에서 implements 로 상속받아 ..

자바 메모리 영역(Static, Stack, Heap)

아래 내용에서 틀린 부분이 있다면 댓글 부탁드립니다. 1. Static 영역 1) 전역 변수(Global), 정적 멤버 변수(static 선언) 대상 2) 발생시점 - JVM(JAVA Virtual Machine) 이 동작해서 클래스가 로딩 될 때 생성 - 프로그램이 종료될 때까지 메모리에 남아있음 2. Stack 영역 1) 블록 내에서 선언된 지역 변수(Local) 대상 2) 기본 자료형을 생성할 때 저장하는 공간 / 임시적으로 사용하는 변수 및 정보를 저장하는 영역 2) heap 영역에 올라간 인스턴스의 참조값 저장 3) 발생시점 : - 메서드 호출할 떄마다 개별적으로 스택이 생성 / 종료 시 영역 해제 - Compile 시 할당 3. Heap 영역 1) 참조형(Reference Type)의 데이터 ..

npm 과 npx 명령어 차이

npm(Node Package Module) : 모듈 설치 명령어 - npm i(install) 모듈이름 -g(글로벌) 글로벌 옵션으로 설치는 좋은 방법은 아니라고 합니다. 1) 모듈 업데이트 여부 확인이 안됨 2) 다양한 프로젝트를 운영 할 시 글로벌 모듈의 버전은 문제가 발생할 수 있다. ---------------------------------- npx : npm 5.2 버전부터 npx가 기본 패키지로 제공 -> 모듈을 로컬에 저장하지 않고, 매번 최신 버전의 파일만을 임시로 불러와 실행 시킨 후에, 다시 그 파일은 없어지는 방식

Java의 정석 기본 상식

그동안 개발자로 일하면서 세세한 부분까지 기억하지 않았던 부분을 정리해보려 합니다. 대표적인 Java의 정석(남궁성 지음) 서적을 통해 계속 업로드 하겠습니다. (2021.09.17~) [자바언어 특징] 1) 운영체제에 독립적 - 자바가상머신(JVM)이 응용프로그램에서 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달함 - 자바로 작성된 프로그램은 운영체제에 독립적, JVM은 운영체제에 종속적으로 '썬'에서는 여러 운영체제에서 설치할 수 있는 서로 다른 버전의 JVM을 제공 2) OOP(Object-oriented programming language) - 객체 지향 프로그래밍 (역할/책임/협력) 3) 자동 메모리 관리(Garbage Collection) 4) 네트워크/분산처리 Lib 지원..