minlog
article thumbnail
[ Java ] 자료구조
BackEnd/JavaProgram 2023. 8. 17. 10:25

자료구조 💡 Iterator 순서(인덱스)가 없는 데이터의 집합 전체를 순회해주는 for문과 같은 역할을 해서 전체 데이터를 출력 ( 사용 : Set, Collection ) 자료구조 이미지로 확인해보기 Data Structure Visualization www.cs.usfca.edu 1. 자료구조란? 자료구조(data structure) 데이터를 효율적으로 사용할 수 있도록 구조를 만들어서 저장해둔 것 1-1. 자료구조의 종류 리스트(list) : 배열 리스트(array list), 연결 리스트(linked list)로 세분됨 스택(stack) 큐(queue) 해쉬 테이블(hashtable) 집합(set) * 엄밀히 말하면 자료구조가 아님 자바에서 자료구조 - list ,map,set 특성에 맞게 자료..

article thumbnail
[ JAVA ] 인터페이스 ( interface )
BackEnd/JavaProgram 2023. 3. 17. 11:55

인터페이스 ( interface ) 인터페이스는 추상메서드로 구성되어 구현 코드가 없다. 개발자가 선언하지 않더라도 모든 메서드가 추상메서드로 선언된다. → public abstract 모든 변수는 상수로 선언된다. → public static final 📑 interface 인터페이스 interface 인터페이스명 { } 📑 implements 인터페이스를 상속 받은 클래스 public class 클래스명 implements 인터페이스명 { } 💡인터페이스는 왜 사용하는가? 클래스나 프로그램이 제공하는 기능을 명시적으로 선언한다. 일종의 클라이언트 코드와의 약속이며 클래스나 프로그램이 제공하는 명세로 사용된다. ( 클라이언트 프로그램은 인터페이스에 선언된 메서드 명세만 보고 이를 구현한 클래스를 사용할..

article thumbnail
[ JAVA ] 추상 클래스 abstract / 템플릿 메서드
BackEnd/JavaProgram 2023. 3. 15. 20:47

추상 클래스 abstract 예약어를 사용 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스 추상 클래스는 new 할 수 없음 ( 인스턴스화 할 수 없음 ) 추상 클래스를 상속 받는 클래스는 추상 메서드를 무조건 오버라이딩 해야한다. public abstract class 클래스명{ public abstract void 메서드이름 (); } 💡추상클래스가 필요한이유?? 객체생성이 목적이 아니라 자식을 생성하기 위해 만들어졌다. 코드의 독립성과 일관성을 유지 할 수 있다. 추상메서드에는 본체가 없다. ( 중괄호 없음 { } ) : 자식이 오버라이딩 해서 내용을 입력한다. 무조건 자식이 오버라이딩하여 메서드의 본체를 완성하게된다. 때문에 객체의 다양성을 볼 수 ..

article thumbnail
디자인 패턴
BackEnd/JavaProgram 2023. 2. 23. 22:17

디자인패턴 자주 사용하는 설계 패턴을 정형화 해서 이를 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계 알고리즘과 유사하다. 💡 Gof 소프트웨어 설계를 할때 기존 경험이 매우 중요한데, 이러한 지식을 공유하기 위해 나온 디자인 패턴. 💡 디자인패턴 장점 / 단점 장점 단점 개발자 간의 원활한 소통 객체 지향 설계 / 구현 소프트웨어 구조파악 용이 초기 투자 비용 부담 재 사용을 통한 개발 시간 단축 설계 변경 요청에 대한 유연한 대처 💡 디자인 패턴 분류 생성패턴 / 구조패턴 / 행위패턴 * CLICK!! 단어를 클릭하면 바로 해당설명으로 갈 수 있습니다. 1. 생성 패턴 객체를 생성하는 것과 관련된 패턴 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 하고 코드의 유연성을 높..

article thumbnail
[ JAVA ] 객체 지향 / Extends 객체 간의 상속 관계
BackEnd/JavaProgram 2023. 2. 23. 00:07

클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할때 기존 클래스를 상속함 이미 개발된 클래스를 재사용, 중복코드를 줄여준다. 부모(상위)클래스의 필드나 메서드는 자식(하위)클래스의 소유로 사용할 수 있다. 자바의 다형성을 보여준다. 상속은 클래스간의 결합도가 높은 설계 💡 상속 문법 public class 자식클래스(현재 파일 클래스 명) extends 부모클래스 { } ※ extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 = 자식은 한명의 부모로 부터만 상속이 가능하다. = 자바는 단일 상속(single inheritance)만을 지원..