자바 기초

Programming/Java_자바

[JAVA 기초] 스택(Stack), 큐(Queue), 해시세트(HashSet) 구현 및 실습

Explain 스택 (Stack) : 하노이탑에 개체를 쌓듯 데이터가 LIFO(Last-In First-Out) 구조로 쌓이는 자료구조 큐 (Queue) : 가로형태의 원통형 구조라고 가정할 수 있고, 맨 좌측 front, 맨 우측 rear(꼬리) 의 자료구조 : 데이터가 FIFO(First-In First-Out) = 가장 먼저 들어간 것이 가장 먼저 나오는 구조 해시세트 (HashSet) : Set 인터페이스의 구현 클래스로 객체를 중복해서 저장할 수 없고 : 하나의 null 값만 저장할 수 있는 Set의 성질을 그대로 상속받음 >> 저장순서가 중요하지 않음 >> 같은 Set 인터페이스의 하위 클래스 중 TreeSet은 데이터를 자동정렬해주는 특징이 있지만 HashSet은 그렇지 않음 실습코드 pac..

Programming/Java_자바

[JAVA 기초] Collection 인터페이스 (컬렉션 인터페이스)와 ArrayList 예제 실습

Explain 컬렉션 인터페이스 (Collection Interface) : 하나의 객체를 관리하기 위한 메서드가 정의된 인터페이스 : 하위에 List와 Set 인터페이스를 가짐 1. 리스트 인터페이스 (List Interface) - 순서가 있는 자료관리, 중복을 허용 - 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스 - 배열의 기능을 구현하기 위한 인터페이스 - 이 인터페이스를 구현한 클래스는 ArrayList / Vector / LinkedList / Stack / Queue 등이 있음 2. 세트 인터페이스 (Set Interface) - 자료관리에 순서가 없음, 중복을 허용하지 않음 - 이 인터페이스를 구현한 클래스는 HashSet / TreeSet 이 있음 - 아이디,..

Programming/Java_자바

[JAVA 기초] 스택(Stack), 큐(Queue), 트리(Tree)

Explain 스택 (Stack) : 하노이탑에 개체를 쌓듯 데이터가 LIFO(Last-In First-Out) 구조로 쌓이는 자료구조 - 배열이나 연결리스트 둘다 구현가능 - 중간에서 데이터의 수정이 일어나지 않음 - 맨 위의 위치를 top, 맨 아래의 위치를 bottom 이라 칭함 - LIFO (후입선출) 구조로 가장 나중에 넣은것이 가장 먼저 나오는 자료구조 - push() = 데이터 삽입, pop() = 데이터 빼기 처럼 사용가능 - 실무 사용 예로 게임개발에서 두 수 무르기, 왔던 곳을 되돌아가기 등의 기능을 구현할때 사용 - 자바 JDK에서는 Stack 클래스로 구현하거나 ArrayList로 구현이 가능 - Peek() : 일종의 get()으로 스택의 맨 위에 있는 원소를 반환 (=실제로 꺼내..

Programming/Java_자바

[JAVA 기초] 제네릭 프로그래밍, 컬렉션 프레임워크

Explain 제네릭 프로그래밍 (Generic Programmming) : 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환될 수 있도록 프로그래밍 하는 방식 - 실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적 - 컬렉션 프레임워크에서 많이 사용되고 있음 1. 제네릭 클래스는 여러 참조 자료형으로 대체될 수 있어야하므로 그 부분을 "하나의 문자"로 표현함 >> 이 문자를 '자료형 매개변수' 라고함 >> 자료형 매개변수 선언은 T 로 하며, 이 T는 Type의 의미로 사용됨 다이아몬드 연산자 안에 T를 사용해 표현 static키워드는 매개변수 T에 사용이 불가하다. 2. 예시로 T extends 클래스 = T가 사용될 클래스를 제한하기 위해 사용하는 기..

Programming/Java_자바

[JAVA 기초] 대중교통 이용 프로그램 만들기

강의를 참고해 상속없이, 객체 간의 협업으로 만든 프로그램이므로 코딩 난이도는 다소 떨어질 수 있습니다. Introduction 필요한 클래스 : 학생, 버스, 지하철 '학생'클래스의 정보 : 이름, 학년, 돈 '학생'클래스의 메서드 : 탄다, 정보 '버스'클래스의 정보 : 버스번호, 승객 수, 돈 '버스'클래스의 메서드 : 태우다, 정보 '지하철'클래스의 정보 : 노선번호, 승객 수, 돈 '지하철'클래스의 메서드 : 태우다, 정보 첫번째 클래스 (Student.java) package cooperation; public class Student { int grade; int money; String studentName; public Student(String studentName, int money)..

Programming/Java_자바

[JAVA 기초] 생성자

Example Student studentLee = new Student(); Explain 라는 코드에서 Student() 는 "생성자"를 의미한다. 그렇다면 public Student() { } 처럼 기본생성자를 넣어주어야하지만 코드에는 없어도 실행이 잘되는 것을 확인할 수 있다. 왜냐하면 자바 컴파일러가 자동적으로 추가해 실행해주기 때문인데, 자바 컴파일러는 클래스에 생성자가 하나도 없는 경우에 기본생성자를 알아서 추가해서 실행해주는 특징이 있다. * 특징 1. 매개변수가 없음 2. 하나의 클래스에는 반드시 적어도 하나 이상의 생성자가 존재해야함 3. 프로그래머가 따로 지정하지 않으면 컴파일러가 기본생성자를 자동으로 코드에 추가해줌 4. 만약 매개변수가 있는 생성자를 추가하게 된다면 기본생성자는 제..

Programming/Java_자바

[JAVA 기초] (2, 8, 10,16) 진수 별 표현 방식 및 출력

실습문제 1번 자바에서 10진수와 2진수, 8진수, 16진수를 어떻게 표현하는지 프로그래밍 하기 package binary; public class BinaryTest { public static void main(String[] args) { int num = 10; int numA = 0B1010; // 0B = 2진수 라는 뜻 int numB = 012; // 0으로 시작하면 = 8진수 라는 뜻 int numC = 0XA; // 0X = 16진수 라는 뜻, A는 10을 의미함 // 9, A, B, C, D, E, F, 10, 11, 12, 13, 14, 15, 16... System.out.println(num); System.out.println(numA); System.out.println(nu..

LEFT
'자바 기초' 태그의 글 목록