목록공부 (45)
랩터

1. 운영체제에 독립적자바 이전의 언어들은 특정 CPU에서만 작동하거나 특정 OS에 따라 다르게 작성해야 하는(C, C++) 언어들이 대부분이었습니다. 자바는 이 문제를 해결하고자 JRE(Java Runtime Environment: JVM(자바 가상머신) + 표준 클래스 라이브러리)가 설치되어 있는 모든 운영체제에서 실행이 가능하도록 만들어졌습니다. 2. 객체 지향 언어(Object Oriented Programming, OOP)자바는 객체 지향 프로그래밍 개념을 사용하는 언어입니다. 따라서 모든 기능은 객체로 만들어 사용해야 합니다. 객체는 프로그램이 동작하는 부품이라고 생각하면 됩니다. 여러 부품(객체)들을 만들고 조립하여 하나의 프로그램을 실행하는 개념이 OOP입니다. 객체 지향적으로 설계된 프..

-JDK 설치Zulu OpenJDK 다운로드 페이지에 접속합니다. Java Version과 Operating System, Architecture를 선택합니다.https://www.azul.com/downloads/?version=java-11-lts&os=windows&architecture=x86-64-bit&package=jdkArchitecture는 내 컴퓨터 → 속성에서 64bit or 32bit 운영체제를 확인하고 선택합니다. 선택을 모두 완료했다면 ‘.msi’ 버튼을 눌러 다운로드합니다.다운로드한 파일 실행후 NEXT 버튼 쭉 누르고 FINISH누른다음 cmd를 열어서 java를 입력해보세요.아래와 같은 실행 결과를 확인 할수 있습니다. -IntelliJ 설치IntelliJ(Windows) ..
리액트란?리액트는 프론트앤드 개발을 위한 자바스크립트 오픈소스 라이브러리 리액트의 3가지 특징리액트는 선언형, 컴포넌트 기반, 다양한 곳에서 활용가능(범용성) 선언형최종적으로 어떤 결과물을 만들어달라고 선언하는 방식JSX활용항 선언형 프로그래밍 지 컴포넌트 기반하나의 기능 구현을 위해 여러 종류의 코드를 묶어둔 컴포넌트를 기반으로 개발서로 독립적이고 재사용 가능 범용성리액트는 자바스크립트 프로젝트 어디든 유연하게 적용가능Facebook에서 관리되어 안정적,가장유명하고 리액트 네이티브로 모바일 개발도 가능 JSX란?자바스크립트를 확장한 문 bable은 javascript로 결과물을 만들어주는 컴파일러(브라우저가 이해할수있도록 변경) 그렇다면 왜 javascript로 변환하는과정이 필요할까?새로운 ESNe..
메서드 오버라이딩(Method Overriding)은 상위 클래스로부터 상속받은 메서드와 동일한 이름의 메서드를 재정의하는 것을 의미합니다. public class Main { public static void main(String[] args) { Bike bike = new Bike(); Car car = new Car(); MotorBike motorBike = new MotorBike(); bike.run(); car.run(); motorBike.run(); } } class Vehicle { void run() { System.out.println("Vehicle is running"); } } class Bike extends Vehicle { void run() { System.out.pr..
포함(composite)은 상속처럼 클래스를 재사용할 수 있는 방법으로, 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것을 의미합니다. public class Employee { int id; String name; Address address; public Employee(int id, String name, Address address) { //Employee 안에 Address가 포함되어잇음 this.id = id; this.name = name; this.address = address; } void showInfo() { System.out.println(id + " " + name); System.out.println(address.city+ " " + address.country)..
상속 자바 언어에서 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소를 의미합니다. 가장 단순한 형태를 생각해 보면, 두 클래스를 상위 클래스와 하위 클래스로 나누어 상위 클래스의 멤버(필드, 메서드, 내부 클래스)를 하위 클래스와 공유하는 것을 의미합니다. 여기서 우리는 이 두 클래스를 서로 상속 관계에 있다고 하며, 하위 클래스는 상위 클래스가 가진 모든 멤버를 상속받게 됩니다. 따라서 하위 클래스의 멤버 개수는 언제나 상위 클래스의 그것과 비교했을 때 같거나 많습니다. "~클래스로부터 상속받았다"라는 표현보다는 "~클래스로부터 확장되었다"는 표현이 그 역할과 기능을 생각했을 떄 더 적절한 표현입니다. 왜 상속을 사용할까요? 상속을 통해 클래스를 작성하면 앞선 예제에서 확..
추상화 먼저 “추상”이라는 용어의 사전적 의미를 보면 “사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것"이라고 정의합니다. 여기서 핵심적인 개념은 공통성과 본질을 모아 추출하는 것입니다. 속이 하위 클래스를 정의하는데 상위 클래스를 사용하는 것이라고 한다면 추상화는 반대로 기존 클래스들의 공통적인 요소들을 뽑아서 상위 클래스를 만들어 내는 것이라고 할 수 있습니다. 자바에서는 주로 추상 클래스와 인터페이스라는 문법 요소를 사용해서 추상화를 구현합니다. abstract 제어자 abstract는 주로 클래스와 메서드를 형용하는 키워드로 사용되는데, 메서드 앞에 붙은 경우를 ‘추상 메서드(abstract method)’, 클래스 앞에 붙은 경우를 ‘추상 클래스(abstract..
패키지 **패키지(package)**란 특정한 목적을 공유하는 클래스와 인터페이스의 묶음을 의미합니다. 자바에서 패키지는 물리적인 하나의 디렉토리(directory)이고, 하나의 패키지에 속한 클래스나 인터페이스 파일은 모두 해당 패키지에 속해있습니다. Import 문 import 문은 다른 패키지 내의 클래스를 사용하기 위해 사용하며, 일반적으로 패키지 구문과 클래스 문 사이에 작성합니다. 만약 같은 패키지에서 여러 클래스가 사용될 때는 import 문을 여러 번 사용하기보다는 위에 작성된 것처럼 import 패키지 명.* 으로 작성하면 해당 패키지의 모든 클래스를 패키지 명 없이 사용할 수 있습니다. 제어자(Modifier) 자바 프로그래밍에서 제어자는 클래스, 필드, 메서드, 생성자 등에 부가적인 ..

캡슐화란 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것을 말합니다. 이렇게 캡슐화를 해야 하는 이유로 크게 두 가지 목적이 있습니다. 첫째는 데이터 보호의 목적이고, 둘째로 내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출을 방지하기 위함입니다. 정리하면, 캡슐화의 가장 큰 장점은 정보 은닉(data hiding)에 있다고 정리할 수 있습니다. 자바에서 캡슐화를 수행하기 위한 핵심적인 수단으로 접근제어자(Access Modifier)와 getter와 setter 메서드를 중심으로 학습을 진행합니다.

OOP: 프로그래밍에서 필요한 데이터를 한 데 모아 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 협력과 유기적인 상호작용을 통해 특정 기능을 구성 객체지향 프로그래밍은 실제 사물의 속성(state)과 기능(behavior)을 분석한 후에 이것을 프로그래밍의 변수와 함수로 정의함으로 실제 세계를 최대한 컴퓨터 프로그래밍에 반영하고자 하는 시도라 설명할 수 있다. 프로그램 개발 및 유지 보수에 드는 비용과 시간을 획기적으로 줄일 수 있고, 객체를 통해 데이터를 관리하여 데이터를 손실 없이 관리하기에 용이하다. => 생산성 향상 개념을 기록을 통해 꼼꼼히 잘 다져보자. 하루에 한번씩. 미루지 말고. 클래스 클래스와 객체 객체가 우리가 인지할 수 있는 ‘실재하는 모든 것’이자 ‘사용할 수 있는 ..