본문 바로가기

JAVA

(19)
자바 ( 컬렉션과 제네릭) 컬렉션 : 데이터를 수집하고 관리해주는 객체 배열을 가지고 직접 사용하는 것들을 서비스 개념으로 사용하게 해주는 도구 데이터 관리를 대신해주는 객체, 데이터 크기를 가변적으로 바꿔줌 데이터를 수집하고 데이터를 삭제하고 데이터의 크기를 알려주는 기능을 기반으로 해서 만들어짐 배열을 직접 사용할 필요 없음 배열 안의 내용물이 어떻게 보관되는지 어떤 구조를 갖고있는지 관심 가질 필요 없을 때 컬렉션은 안에 저장소에 대한 내용은 숨기고 .add(3)를 줘서 값을 쉽게 담을 수 있다. 3을 어떻게 저장되었는지는 관심 없고 3을 가지게 되었다만 포커스 맞추기 수집에는 최적화된 도구 컬렉션 사용 목적 데이터 관리를 직접 할 필요 없다. 배열 공간의 크기를 늘릴 수 있다. 알아서 늘려준다. 가변 길이 배열 객체 정수형..
자바 기초 10 (객체 (Object) 지향의 활용) 예제 게임 캐릭터 공격 프로젝트를 구현 Hero.java public class Hero { // 게임 캐릭터를 의미, 부모클래스 String name; public Hero (String name){ // Hero라는 클래스를 초기화 해줄 수 있도록 생성자 만들기 this.name = name; // 자신의 이름을 초기화 해줄수 있도록 만들어주기 } public void attack() { System.out.println("주먹찌르기!"); } } Warrior.java public class Warrior extends Hero { public Warrior (String name) { // 생성자 만들어주기 // 부모클래스 Hero가 가지는 name이라는 기본적인 자기 내부 변수를 초기화 supe..
자바 기초 9 (다형성) 다형성(Polymorphism) : 갖가지 다른 형태를 가지는 성질 기본적으로 자바는 다형성을 그 특징으로 가지는 객체 지향 프로그래밍 언어 이 다형성을 이용해 객체를 사용할 때 사용하는 변수 형태를 바꾸어 여러 타입의 객체를 참조할 수 있다. 다형성은 부모 클래스 타입의 참조 변수로 하위 클래스의 객체를 참조할 수 있게 해준다 과일 정보 프로젝트를 구현합니다. Peach.java public class Peach extends Fruit{ public Peach(){ price = 1500; name = "복숭아"; fresh = 75; // 변수를 초기화 한 후 안에 정보를 넣어준다 } } Fruit.java public class Fruit { String name; int price; int fr..
자바 기초 8 (인터페이스) 인터페이스 : 추상이랑 흡사한 개념 추상 같은 경우는 미리 어떠한 클래스 안에 어떠한 메소드가 사용이 될 것 이라고 암시를 해준다 즉, 추상적으로 어떠한 설계를 제공해주는 것 추상 클래스는 추상 메소드 외에 멤버 변수나 일반 메소드를 가질 수 있지만 인터페이스에서는 반드시 사전에 정의된 추상 메소드와 상수만을 가질 수 있다 인터페이스는 다중 상속을 구현하게 해줌 추상클래스보다 추상화의 정도가 높다 추상화의 정도가 높다는 것은 미리 구현하면 안되고 정말 설계만 함 팀프로젝트에서 동시 작업에 유리 인터페이스를 선언하고 메소드를 다루어봅니다. Dog.java public interface Dog { abstract void crying(); public void show(); /*public void show..
자바 기초 7 (추상, Final 키워드) 추상 (Abstract) : 설계적인 부분 자바에서는 일종의 미완성의 클래스라고 할 수 있는 추상(Abstract) 클래스를 제공 추상클래스는 직접적으로 객체 인스턴스를 생성할 수 없다. 하지만 새로운 클래스를 작성하는데 밑바탕이 되는 역할을 해줌 어느정도 미리 설계로서 틀을 갖추고 클래스를 작성할 수 있게 한다. 객체지향 : 객체는 일반적으로 말하는 물건을 의미하며 여기서 물건은 단순한 데이터가 아니고 그 데이터의 조작 방법에 대한 정보 또한 포함하고 있어 그것을 대상으로 다루는 수법을 객체지향이라고 한다. ex) 어떠한 모양을 정의 할 때 사각형, 원, 삼각형이있다 각 도형들의 공통적인 속성은 넓이 calculateArea()를 가진다는 것이다. + 각자 자신의 생김새를 출력할 수 있는 display..
자바 기초 6 (상속) 상속 : 클래스 간의 상호작용 다른 클래스가 가지고 있는 정보를 자신이 포함하겠다는 의미 하나의 사람을 의미하는 Person 클래스를 생성 Person을 상속받아 하나의 학생을 의미하는 Student 클래스를 의미 Student 클래스를 이용하여 객체를 생성 이클립스 각각의 변수에 접근 방법 우클릭 - Source - Generate Getters and Setters - 다 클릭 - Select All 생성자 만들기 우클릭 - Source - Generate Constructor using fields - 다 클릭 - okay Person.java public class Person { private String name; private int age; private int height; private..
자바 기초 5 (클래스) 클래스 객체 지향 프로그래밍에 있어서 가장 기본 하나의 처리할 데이터 단위를 명시하는데 사용 Node라는 클래스를 많이 사용 어떠한 데이터를 변수로 만들어서 사용하는 것 : 인스턴스화 어떠한 클래스 안에서 만들어진 실제로 사용할 수 있는 단위를 인스턴스라 함 객체 : 실세계의 사물 객체를 한 클래스로 만들어서 그것을 하나의 객체 단위로써 인스턴스화를 해서 실제로 사용한다 하나의 점을 의미하는 Node 클래스를 생성할 수 있습니다. .(0, 0) A(3,7) B(10, 5) 이런식으로 x,y 좌표의 특성이 있다. Node 클래스를 이용하여 두 점 사이의 중점을 구하는 프로그램을 작성합니다. Node.java public class Node { // Node 라는 것은 하나의 좌표를 의미 private in..
자바 기초 4 (배열) 배열 엄청나게 많은 연속적인 원소들이 차례대로 나열 될 수 있고 그런 식으로 저장하고 처리하는 방법 데이터가 많을 때 사용 -> 하없이 많을 수 있으면서 그 데이터 개수가 변경될 수 있는 데이터들의 집합을 지정해 줄 수 있기 때문에 사용 int [] array = new int [100]; new -> 어떠한 인스턴스를 만들 때 사용하는 하나의 언어 [] 로 지금 사용하고자 하는게 배열임을 알 수 있다 [100] 은 배열의 크기를 의미 0 1 2 3 4 ... 99 원하는 개수만큼의 배열 생성 및 최댓값 구하는 프로그램 작성 import java.util.Scanner; public class Main { public static int max (int a, int b) { return (a > b) ?..