반응형

Java 20

상속이란?

상속 상속은 상위 클래스의 필드와 메서드를 허위클래스가 물려받는것을 말한다. 상속을 사용하면 코드의 재사용성이 증가하고 클래스 간 계층관계를 구분하고 관리하는게 편해진다. 상속해주는 클래스 상위 클래스, 슈퍼 클래스, 부모 클래스, 기반 클래스(Base Class)라고도 부른다. 상속을 받는 클래스 하위 클래스, 서브 클래스, 자식 클래스, 파생 클래스(derived Class)라고도 부른다. 상속을 한다고해서 부모 클래스의 모든 필드와 메서드를 상속받는것은 아니다. private 접근 지정자를 가지고 있는 필드와 메서드는 상속에서 제외되며 다른 패키지일 경우 default 접근 지정자 또한 제외된다. extends 키워드 자바에서는 상속을 위해서 extends라는 키워드를 사용한다. 부모 클래스의 메서..

Programming/JAVA 2021.01.07

클래스란?

객체지향 프로그래밍 클래스에 대해 알기전에 먼저 객체지향 프로그래밍에 대해 알아보자. 객체지향 프로그래밍(OOP : Object-oriented programming) 은 모든것을 객체(Object) 로 보고 그 객체들끼리 역할, 책임, 협력 등 객체들의 관계를 중심으로 프로그래밍하는 기법을 말한다. 객체지향의 4대 특성 캡슐화(encapsulattion) 객체의 속성과 행위를 하나로 묶고 구현 내용 일부를 외부에 감추어 은닉할 수 있다. 상속(inheritance) 상위 클래스의 속성과 행위를 상속 받을 수 있다. 하위 클래스는 필요한 특성을 추가하여 사용할 수 있다. 추상화(abstraction) 상세한 정보는 무시하고 필요성에 의해 있어야할 정보들만 간추려서 구성하는 것으로 공통점 추출하는 것이다...

Programming/JAVA 2021.01.04

stack 구현해보기

Stack int 배열을 사용해서 정수를 저장하는 Stack을 구현하세요. void push(int data)를 구현하세요. int pop()을 구현하세요. ListNode head를 가지고 있는 ListNodeStack 클래스를 구현하세요. void push(int data)를 구현하세요. int pop()을 구현하세요. stack은 제한적으로 접근할 수 있는 나열 구조이다. 접근 방법은 언제나 목록의 끝에서만 일어나 끝먼내기 목록(Pushdown list)이라고도 한다. 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조로 후입선출(LIFO - Last In First Out)의 구조를 이루고 있다. push 자료를 밀어 넣는것 pop 자료를 꺼내는것, 가장 최근에 push한 자료부터 나오게 된다...

TIL 2021.01.02

LinkedList 구현해보기

LinkedList LinkedList에 대해 공부하세요. 정수를 저장하는 ListNode 클래스를 구현하세요. ListNode add(ListNode head, ListNode nodeToAdd, int position)를 구현하세요. ListNode remove(ListNode head, int positionToRemove)를 구현하세요. boolean contains(ListNode head, ListNode nodeTocheck)를 구현하세요. LinkedList란 배열과 비슷하게 데이터들의 묶음을 표현할 때 사용할 수 있다. 배열은 연속적인 공간에 데이터를 저장하고 이들의 위치를 통해 (포인터) 데이터에 접근하는 반면, LinkedList는 노드 안에 데이터와 다음 노드를 가리키는 주소 값을 ..

TIL 2021.01.02

JUnit이란?

JUnit JUnit이란 java의 단위 테스트(Unit Test) 도구이다. 테스트 결과를 문서로 남기는 것이 아니라 Test Class 자체를 남겨 리팩토링을 하거나 소스코드가 변해도 해당 코드가 제대로 동작하는지 테스트 코드를 가지고 그대로 테스트 할 수도 있고, 미래에 이 기능을 맡게될 개발자에게 테스트 방법 및 클래스의 histroy를 넘겨줄 수도 있다. 하나의 jar파일로 되어있다. 단위 테스트 소스코드의 특정 모듈이 의도된 대로 작동하는지 검증하는 절차 모든 메서드에 대한 테스트 케이스를 작성하는 절차 JUnit4부터는 @어노테이션을 지원하여 간단하게 테스트할 수 있는 환경을 제공한다. (@Test, @Before ...) 테스트의 결과는 성공은 초록색, 실패는 빨간색으로 표시된다. 테스트 ..

Programming/JAVA 2020.12.31

제어문이란?

제어문 코드가 위에서 아래로 순차적으로 실행되는 구문을 순차문이라고 한다. 모든 코드가 순차적으로 실행된다면 좋겠지만 실제로는 그렇지 않다. 제어문은 코드의 실행 흐름을 담당하는 (flow control) 구문으로 제어문은 선택문, 반복문, 분기문으로 나뉜다. 선택문 선택문 혹은 조건문이라고도 한다. 조건식같은 분기로 나누어 결과에 따라 다른 코드를 실행할 수 있게 해주는 구문이다. if 문 if문 안에 있는 조건식이 참일 경우 {}안에 있는 코드가 실행된다. 조건식엔 참, 거짓의 boolean타입만 들어갈 수 있다. if (조건식) { System.out.println("true") // {} 안에 코드가 1줄일 경우 {} 생략 가능 } if else 문 if문 안에 있는 조건식이 참일 경우엔 if문{..

Programming/JAVA 2020.12.29

연산자란?

연산자란? 주어진 식의 결과 값을 산출하는 것을 연산이라고 하는데, 연산을 위해 사용하는 기호를 연산자라고 한다. 산술 연산자 (Arithmetic Operator) 사칙연산과 나머지를 구하는 연산까지 5가지가 있다. (더하기, 빼기, 곱하기, 나누기(몫), 나누기(나머지)) boolean타입을 제외한 모든 Primitive type에서 사용이 가능하다. 컴퓨터 시스템적으로 곱하기와 나누기의 연산방식은 비트를 Shift하여 계산한다. 피연산자들 중 부동 소수점이 있다면 부동 소수점으로 산술된다. 더하기 더하기는 + 연산자를 사용하고, 기본적으로는 두 수의 합을 산출할 때 사용하지만 문자열을 연결 시킬때도 사용할 수 있다. 피연산자 중 문자열이 포함되어 있다면 다른 피연산자도 문자열로 취급되어 결과값도 문..

Programming/JAVA 2020.12.22

데이터 타입, 변수, 배열 그리고 타입추론

데이터 타입 JAVA의 데이터 타입은 Primitve Type과 Reference Type으로 나뉜다. 기본형 타입 (Primitive Type) 미리 정의되어 제공되는 데이터 타입으로 원시 타입이라고도 함. 기본값이 있기 때문에 Null을 허용하지 않는다. 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 사용해야한다. 스택(Stack) 메모리에 실제값을 저장한다. 값을 저장할 수 있는 범위가 있어 크기를 벗어나면 컴파일 에러가 난다. 타입 할당되는 메모리 크기 기본값 데이터 표현 범위 논리형 boolean 1 byte false true, false 정수형 byte 1 byte 0 -128 ~ 127 short 2 byte 0 -32, 768 ~ 32,767 int 4 byte 0 -2, 147, ..

Programming/JAVA 2020.12.21

JVM이란?

JVM 이란? Java Virtual Machine의 약자로 자바 가상 머신을 의미 한다. Java Byte Code를 OS에 맞게 해석을 해주기 때문에 JAVA의 애플리케이션이 OS에 영향을 받지 않고 실행할 수 있게해주는 역할을 한다. Java Compiler가 .java파일을 .class파일인 Java Byte Code로 변환을 해준다. 하지만 Java Byte Code는 OS에서 바로 실행 할 수가 없다. 이 Byte Code를 OS에 맞게 실행할 수 있게 해석해주는 것이 JVM이다. 자바 바이트 코드 (Java Byte Code) JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다. (.class파일) 자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트여서 자바 바이트 코..

Programming/JAVA 2020.12.21

[JAVA] Arrays.asList()

Arrays.asList Arrays.asList의 패키지는 java.util.Arrays로 보통의 사용하던 java.util.ArrayList의 ArrayList와는 다르다. java.util.Arrays의 ArrayList 클래스는 remove(), add() 메소드를 제공하지 않고 set(), get(), contains()를 제공한다. 배열에 엘리먼트를 추가하거나 삭제할 수 없어서 배열의 사이즈를 변경할 수 없다. Array를 List 처럼 사용할 수 있게 도와주는 클래스 String[] strs = {"apple", "banana", "orange"}; // List list = new ArrayList(); 대신 사용이 가능하다. List list = Arrays.asList(strs); st..

Programming/JAVA 2020.09.17
반응형