전체 글 176

다형성

다형성은 큰 객체 안에 작은 객체를 넣어서 여러 형태로 변환해 사용하는 것이다. 다형성을 사용하면 객체화 시 다른 객체를 끌어다 생성한 변수에 넣어줄 수 있는데 철수 a= new 사람() 은 되지만 사람 a= new 철수() 는 안된다. public class Human { public void call() { System.out.println("HUMAN Call"); } } public class Cheolsu extends Human { public void call() { System.out.println("CHEOLSU Call"); } public void status() { System.out.println("CHEOLSU Status"); } } public class Polymorphis..

Java 2022.06.25

예외처리

예외 처리 방법에는 3가지가 있다. 1. try {} catch {} 사용 2. throws 사용 3. throw 사용 public class ExceptionTest { public void call(int j) { int[] i= {1, 2, 3}; System.out.println("call value: " + i[j]); } public static void main(String[] args) { ExceptionTest et= new ExceptionTest(); et.call(4); // 배열 크기를 초과하는 값을 호출, 에러 발생 } } Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bou..

Java 2022.06.25

제네릭스

제네릭스은 을 설정하는 건데 객체에 값을 삽입할 때 특정 데이터 타입만 삽입할 수 있도록 조건을 달아주는 것이다. import java.util.ArrayList; public class GenericExample { public static void main(String[] args) { int arr[]= {1, 2, 3, 4}; ArrayList list= new ArrayList(); // 제네릭스을 사용하지 않은 list list.add("abc"); list.add(123); list.add(arr); // list에 데이터타입 제한 없이 add 가능 for(int i=0; i

Java 2022.06.25

인터페이스, 추상클래스

인터페이스는 인터페이스에서 작성한 내용을 인터페이스를 상속 받은 클래스에서 반드시 구현해야 하는데 인터페이스는 정의만 하고 안의 내용은 상속 받은 클래스에서 채워 넣어야 한다., 그래서 인터페이스를 사용 시 상속 받은 클래스에서 동일한 이름과 기능을 보장 받는다. 자바에서 인터페이스는 Class가 아닌 Interface를 만들어 사용한다. public interface InterExample { public void makeThis(); // 인터페이스에 정의 후 implements 하면 구현 강제 함 public void makeThisWithParam(String name, int age); } 위 인터페이스 안에서는 특정 메서드를 이름 또는 이름이나 파라미터만 정의하고 안에 내용은 없는데 이는 인터..

Java 2022.06.25

오버라이드, 오버로드

오버라이드 - 자식 클래스에서 부모 클래스의 메서드명과 동일한 메서드를 작성해 사용하는 것 public class Parent { public void call() { System.out.println("Parent 클래스의 CALL method"); } } public class Child extends Parent { public static void main(String[] args) { Child c= new Child(); c.call(); // Parent 클래스의 CALL method } } 오버로드 - 동일한 이름의 메서드를 받는 파라미터만 바꿔서 여러번 작성하는 것 public class Child { // 오버로드= 동일한 메서드명으로 받는 파라미터를 다르게 해서 작성 가능 public..

Java 2022.06.25

수업 37일차 TIL

오늘 공부한 내용 📋 *수업 노동부 제출용 swing 맛집 프로그램 제작 (인터페이스, 기능) -검색, 채팅, 포스터 사진 출력 등 기능 구현 *개인 자바 기초 -배열 선언, 초기화 -List, Set, Map -extends, implements JSP 게시판 -초기 세팅 -로그인 구현(2강) 어려웠던 내용 🤢 swing으로 응용 프로그램을 처음 구현하는데 거의 클론 코딩임에도 많은 기능(클래스 파일)과 자바 문법, swing 문법(..) 때문에 이해가 잘 되지 않아 구현이 힘들었음. JSP 게시판 로그인 기능 구현에서 생소한 HTML 코드들이 많아 나중 코드 분석이 필요해 보였음. 궁금한 내용 / 부족한 내용 🧐 자바 기초 문법, 응용 프로그램에서의 자바 구조 JSP, HTML 코드 구조 느낀 점 🤔..

Diary/TIL 2022.06.25

extends, implements

자바에서는 extends와 implements로 타 클래스의 내용을 그대로 가져와 사용할 수 있다. 이걸 상속이라 한다. extends와 implements는 쓰임새가 아예 다르다. class ExtendsMe { public void extendsCall() { System.out.println("ExtendsMe CALL!"); } } public class ExtendsImplements extends ExtendsMe { public static void main(String[] args) { ExtendsImplements ei = new ExtendsImplements(); ei.extendsCall(); // ExtendsMe CALL! } } extends로 ExtendsMe 클래스를 상속..

Java 2022.06.24

List, Set, Map

자바에서는 배열 말고도 List, Set, Map, Stack, Queue 타입의 변수를 선언한 뒤 값을 넣어 사용할 수 있는데 이런 내용을 모아놓은 것이 자료구조다. 실제로 배열보다는 List, Set, Map을 더 많이 사용한다. Stack과 Queue는 사용 비중이 적어 개념 정도만 알아도 된다. List는 자바의 자료형 중 하나로 배열과 비슷하지만 List는 삽입, 삭제를 통해 크기를 자유롭게 변경 가능하고 순차 액세스만 가능하기 때문에 배열보다는 좀 느리다. 다만 배열은 크기를 변경할 수 없기 때문에 예기치 못한 상황에 대처하기가 힘든데 List는 동적으로 크기를 변경할 수 있기 때문에 그 점에서 배열보다 유리하다. List 선언 (ArrayList, LinkedList) ArrayList 리스..

Java 2022.06.24

배열 선언, 초기화

배열은 값을 담을 수 있는 칸을 여러 개 파는 것. public class ArrayTest { public static void main(String[] args) { int[] arrCase1= new int[3]; arrCase1[0]= 10; // 배열에 값 넣어 초기화 System.out.println("arrCase1[0]: " + arrCase1[0]); // 10 String[] arrCase2= {"A", "B", "C"}; // 선언과 동시에 초기화 System.out.println("arrayCase2[0]: " + arrCase2[0]); // A System.out.println("arrayCase2 Length: " + arrCase2.length); // 3 } } 배열의 데이..

Java 2022.06.24