Java Programming 4

연결 리스트 (Linked List)

⚫단일 연결 리스트 - 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조 *자료 구조 : 메모리에 로딩되는 데이터의 구조 ※언어 차원에서 지원해주는 자료 구조면 쉽게 구현할 수 있지만 프로그래머가 직접 만들어야하는 자료 구조이므로 난이도가 높다. - 리스트의 등장 배경 : 배열의 크기는 입력되는 정보의 MAX값이다. - 늘 1~3개가 들어오지만 가끔 한 번씩 30이 들어온다고 배열의 크기를 30으로 하면 평소에도 30으로 크기를 유지해야한다. ★즉, 데이터의 최대 개수를 메모리로 잡아야 하므로 최대 개수가 들어오지 않는 기간이 더 많은 경우 리소스의 낭비가 된다. - 배열에 데이터가 들어온 상황에서 데이터가 사라졌을 때 다른 데이터가 들어오면 뒤에 있던 데이..

Java Programming 2022.03.27

클래스 (Class)

● 객체 지향 프로그래밍의 특징 추상화 캡슐화 정보은닉 다형성 상속 ● 객체 지향 설계 (SOLID) 원칙 단일 책임 원칙 (SRP : Single Responsibility Principle) : 한 클래스는 하나의 책임만 가져야 한다. 개방/폐쇄 원칙 (OCP : Open/Closed Principle) : 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙 (LSP : Liskov Substitution Principle) : 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. 인터페이스 분리 원칙 (ISP : Interface Segregation Principle) : 특정 클라이언트를 위한 인터페이스 여러 개..

Java Programming 2022.03.27

참조형 (Reference)

● 참조형 (String, Array) Run-Time Binding : 실행 시간에 무언가를 한다. Heap을 사용한다. (Stack처럼 움직이지 않는다.) : 프로그래머가 할당하면, 해제는 Java가 자동으로 한다. (GC) • 메모리를 넉넉하게 잡는 메카니즘이 잘 구현되어 있다. ● 참조형(Reference Type)이란 ? - Heap 영역에 실제 데이터가 할당되고 스택을 통해 접근하는 DataType - 메모리가 Run-Time에 생성되는 경우가 있고, Heap영역에는 이름을 붙일 수 없지만 - 시작 주소(시작 정보)는 생성되기 때문에 그 주소를 Stack영역에 참조형 변수로 저장 한 뒤 Heap영역에서 메모리 블록을 통해 참조형 변수를 참조해서 사용한다. - 메모리 블록은 참조형 변수를 통해 ..

Java Programming 2022.03.27

메소드 (Method)

● 메소드 • 프로세스에서 기능을 수행하기 위한 명령문의 집합(Instruction Set) - 기계적 의미 • Function – 직관적 의미 • 메소드 컴파일 -> Instruction Set Function ▶ 좋은 메소드란? 필요한 핵심 기능만 넣고, 함수를 만들었을 때, 다른 사람이 쓸 수 있는지(Reuse), 이름만 봐도 알 수 있고, 모듈화(결합도 ↓, 응집도 ↑)가 잘 되는가 • public static void main(String[] args) → 메인 메소드 • 자바에서는 모든 Function이 메소드임. • 클래스에 포함되어 있음 ● 구성요소 - 리턴형 (void) : 기능(명령)을 실행한 결과 - 메소드 이름 (main) : 메소드를 호출하기 위한 이름 - 파라미터 (String[..

Java Programming 2022.03.27