공부/JAVA 7

[JAVA] 상속

자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 상속이란 어느 클래스가 가진 변수 , 메소드 등을 포함하여 확장하는 용도로 사용된다. 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는것이다. 자바의정석_남궁민 public class Parent { public String name; public int age; } public class Child extends Parent { } public static void main(String[] args) { Child child = new Child(); child.name = "자식"; } 위 클래스에..

공부/JAVA 2022.10.25

[Java] 클래스

목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 클래스 정의하는 방법 . . . 객체 지향 프로그래밍 : OOP (Object Oriented Programing) 객체 지향 프로그래밍이란 Object 를 지향하는 프로그래밍이라는 의미이다. 그러면 Object 와 Class , Instance는 무엇이다를까? 현실에 대입해서 설명해보자. public class Person { private String name; private long age; } 위에 사람이라는 클래스가 있다. 근데 현실세계에는 사람이라는 추상적인 존재는 없다. Person jhon; 이렇..

공부/JAVA 2022.09.27

[JAVA]제어문

학습할 것 (필수) 선택문 반복문 JUnit 5 학습하세요. 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것. 이미 JUnit 알고 계신분들은 다른 것 아무거나! live-study 대시 보드를 만드는 코드를 작성하세요. 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크 할 것. 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소숫점 두자리가지 보여줄 것. Github 자바 라이브러리를 사용하면 편리합니다. 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다. LinkedList를 구현하세요. LinkedList에 대해 공부하세요. 정수..

공부/JAVA 2022.09.20

[Java] 연산자

학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 연산자 ? 연산자란 수나 식을 일정한 규칙에 따라 계산하는것입니다. CPU : 중앙처리장치 컴퓨터 시스템을 통제하고 , 프로그램의 연산을 실행하는 제어장치입니다. 반도체는 대부분 실리콘으로 이루어져있는데, 실리콘은 최외곽 전자가 4개를 가지고있습니다. 실리콘원자는 최외곽원자가 8개일 때 가장 안정한 상태를 가집니다. 실리콘원자는 다른 실리콘원자와 원자를 공유하며 강하게 결합되어있습니다. 이 때 최외곽 원자가 하나 부족하거나 , 최외곽 원자가 하나 더 많을경우 실리콘원자는 불안정한..

공부/JAVA 2022.09.14

자바 데이터 타입, 변수 그리고 배열

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 자바의 데이터타입 - 기본형 타입 (Primitive Type) 총 8종류의 기본형 타입을 미리 정의하여 제공 실제 값을 저장하는 공간으로 스택 메모리가 사용된다 타입 할당되는 메모리 기본값 표현 범위 논리형 boolean false true,false 정수형 byte 0 -128 ~ 127 short 0 -32,768 ~ 32,767 int 0 -2,147,483,648 ~ 2,147,483,64..

공부/JAVA 2022.09.06

[JAVA] JVM 이란 무엇이며 자바코드는 어떻게 실행되는가

JVM : Java Virtual Machine 자바 가상 머신 왜 필요한가 ? Java 의 원칙은 WORA(Write Once Run Anywhere) 이다. 즉 한번 작성한 코드는 어디서든 실행가능해야한다 . 이것을 가능하도록 해주는것이 바로 JVM이다. JVM의 역활 자바코드는 자바 컴파일러를 실행하여 JVM이 이해할 수 있는 자바 바이트코드로 변환된다. 바이트코드 : 1바이트로 이루어진 자바 가상머신이 읽을 수 있는 코드 바이너리코드(기계어) : 0과1로 이루어진 CPU가 읽을 수 있는 코드 + 이렇게 변환된 프로그램은 .class 확장자로 저장된다. 자바 바이트코드를 JVM에서 실행하면 운영체제에 맞게 바이너리코드로 변환하여 하드웨어의 자원을 사용한다. 이 말에 따르면 결국 JVM 은 운영체제에..

공부/JAVA 2022.08.30

좋은객체지향의설계원칙5가지(SOLID)

SRP (Single Responsibiliy Principle) : 단일 책임원칙 : 한 클래스는 하나의 책임만 가져야한다 - 한 클래스를 변경할 때 다른 클래스들에 파급효과가 미치면 안된다. 예를 들어 예전 JSP의 경우 DB커넥션과 UI, Bean등 여러가지가 한군데 뭉쳐있다. 이를 각자의 역활을 하는 클래스로 나누어 해당 기능에대한 책임을 지게해야한다. OCP (Open Closed Priciple) : 개방 폐쇄 원칙 : “소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.” - 어느 모듈에 수정을 할 때 다른 모듈을 수정하게 해서는 안된다. 이를 지키면 어느 기능을 추가개발 시 , 기존에 동작하는 코드들에 대해 변경할 필요가 없다. LSP (Liskov Substitution ..

공부/JAVA 2022.02.26