일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 파이썬
- 백준
- 타입스크립트
- Do it 공부단
- Oracle
- 백엔드 개발
- do it!
- Python
- 자바
- 다형성
- html
- 공부단
- Do it! 자바스크립트 입문
- 자바스크립트
- 배열
- 상속
- 형변환
- Java
- Node.js
- 변수
- 입출력과 사칙연산
- nodejs
- SQL
- 단계별로 풀어보기
- 공부
- Do it! 공부단
- 노드제이에스
- TypeScript
- JavaScript
- 운영체제
- Today
- Total
목록Java (56)
성준이의 공부블로그

상속 객체지향 프로그래밍(OOP)에서는 유지보수가 편리하고, 프로그램을 수정하거나 새로운 기능을 추가하는 것이 유연하다. 이러한 특징을 가능하게 하는 핵심 기술 중 하나가 상속(Inheritance)이다.상속이란 기존 클래스(A 클래스)의 속성과 메서드를 새로운 클래스(B 클래스)에서 물려받아 재사용하는 개념이다. 이를 통해 코드의 중복을 줄이고, 공통 기능을 한 곳에서 관리할 수 있어 유지보수성을 높일 수 있다. 또한, 부모 클래스의 기능을 확장하거나 재정의(오버라이딩)하여 유연하게 변경할 수도 있다.새로운 클래스를 정의할 때 이미 구현된 클래스를 상속받아서 속성이나 기능을 확장하여 클래스를 구현한다.이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속한다.상속받..
Java란?제임스 고슬링과 선 마이크로시스템스 연구원들이 개발한 객체 지향 프로그래밍 언어이다. 가전제품이나 휴대용 장치 등에 사용하는 SW를 만들기 위해 독립적으로 작동하는 더 안정된 프로그래밍 언어가 필요하여 개발된 언어이다. Java의 특징이자 장점운영체제에 독립적(이식성이 높음)어디서든 실행 가능객체지향언어 절차 지향 언어와 다르게 객체를 만들고 결합하여 프로그램 개발 캡슐화클래스 안에 관련 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 직접 접근을 할 수 없게 하는 것접근제어자 : public, private, protected, default상속상위 클래스와 하위 클래스가 있고 하위 클래스는 상위 클래스를 선택하여 해당 상위 클래스를 상속받아 사용즉 기존 클래스를 재활용다형성하나의 객체가 ..

JDK 17 설치 경로 jdk 설치 경로: https://www.oracle.com/kr/java/technologies/downloads/#jdk17-windows Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 설치방법 형광색 부분을 확인하고 다운로드한다.(나는 윈도우) 다운로드한 후 설치 파일 실행! 나는 Java폴더 밑에 설치! 환경변수 설정하기 윈도우 검색창에 시스템 환경 변수 편집 검색 후 환경변수 클릭 아래와 같이 2개의 시스템 변수를 생성한다 시스..

컬렉션 프레임워크 프로그램 구현에 필요한 자료구조를 구현해 놓은 JDK라이브러리 java.util 패키지에 구현되어 있습니다. 개발에 소요되는 시간을 절약하면서 최적화된 알고리즘을 사용할 수 있습니다. 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요합니다. Collection Interface 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스 하위에 List와 Set 인터페이스가 있습니다. List Interface 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스 자료구조 리스트(배열, 연결리스트)의 구현을 위한 인터페이스 중복을 허용합니다. ArrayList, Vector, LinkedList, Stack, Queue, ... Set Interface 순서와 관계..

다이아몬드 연산자 - ArrayList list = new ArrayList(); // 다이아몬드 연산자 내부에서 자료형은 생략 가능합니다. 제네릭에서 자료형 추론(자바 10부터) ArrayList list = new ArrayList() => var list = new ArrayList() 상위 클래스의 필요성 T자료형의 범위를 제한할 수 있습니다. 상위 클래스에서 선언하거나 정의하는 메서드를 활용할 수 있습니다. 상속을 받지 않는 경우 T는 Object로 변환되어 Object 클래스가 기본으로 제공하는 메서드만 사용 가능합니다. T extends를 사용한 프로그래밍 GenericPrinter에 material 변수의 자료형을 상속받아 구현합니다. 전의 예제에서 어떤 재료를 넣어도 다 출력이 되는 형식..

Queue의 특징 맨 앞(front)에서 자료를 꺼내거나 삭제하고 맨 뒤(rear)에서 자료를 추가합니다. First In First Out (선입선출) 구조입니다. 일상생활에서 일렬로 줄 서 있는 모양을 생각하면 이해하기 쉽습니다. 순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용되는 자료구조입니다. 콜센터에 들어온 문의 전화, 메시지 큐 등에 활용됩니다. jdk 클래스: ArrayList 연결 리스트를 활용하여 Queue 구현하기 MyLinkedQueue.java import ch38.MyLinkedList; import ch38.MyListNode; interface Queue { public void enQueue(String data); public String deQueue(); publ..

Stack의 특징 맨 마지막의 위치(top)에서만 자료를 추가, 삭제, 꺼내올 수 있습니다. (중간의 자료를 꺼낼 수 없습니다.) Last In First Out (후입 선출) 구조입니다. 택배 상자가 쌓여 있는 모양이라고 생각하면 이해하기 쉽습니다. 가장 최근의 자료를 찾아오거나 게임에서 히스토리를 유지하고 이를 무를 때 사용할 수 있습니다. 함수의 메모리는 호출 순서에 따른 stack구조입니다. jdk 클래스: Stack 배열을 활용하여 Stack 구현하기 MyArrayStack.java import ch37.MyArray; public class MyArrayStack { MyArray arrayStack; int top; public MyArrayStack() { top = 0; arrayStac..

연결 리스트 특징 동일한 데이터 타입을 순서에 따라 관리하는 자료구조입니다. 자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있습니다. 자료가 추가될 때 노드만큼의 메모리를 할당받고 이전 노드의 링크로 연결합니다.(정해진 크기가 없습니다.) 연결 리스트의 i번째 요소를 찾는데 걸리는 시간은 요소의 개수에 비례합니다. (O(n)) jdk 클래스 : LinkedList 연결리스트 구현 MyListNode.java public class MyListNode { private String data; // 자료 public MyListNode next; // 다음 노드를 가리키는 링크 public MyListNode() { data = null; next = null; } public MyL..

배열 구현하기 배열의 특징 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조입니다. 정해진 크기가 있습니다. 요소의 추가와 제거 시 다른 요소들의 이동이 필요합니다. 배열의 i번째 요소를 찾는 인덱스 연산이 빠릅니다. jdk클래스 : ArrayList, Vector 배열 구현 MyArray.java public class MyArray { int[] intArr; int count; // 개수 public int ARRAY_SIZE; public static final int ERROR_NUM = -9999999; public MyArray() { count = 0; ARRAY_SIZE = 10; intArr = new int[ARRAY_SIZE]; } public MyArray(int size) {..

자료구조란 무엇인가? (Data Structure) 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현 방법들입니다. 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됩니다. 자료의 효율적인 관리는 프로그램의 수행 속도와 밀접한 관련이 있습니다. 여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 중요합니다. 자료구조의 종류 선형 자료구조 배열 (Array) 선형으로 자료를 관리, 정해진 크기의 메모리를 먼저 할당받아 사용하고, 자료의 물리적 위치와 논리적 위치가 같습니다. 몇 번째 항을 찾가아가는데에 걸리는 시간이 빠릅니다. 자료의 추가/삭제에 드는 비용이 많습니다. 하지만 위치를 알 경우 자료를 꺼내오거나 검색하는 데에 드는 비용..