본문 바로가기

전체 글173

[Java] 자바 List 컬렉션 and 제네릭 사용 정리 및 예제코드(ArrayList(),LinkedList(),Vector()) - CodeRecorder List 컬렉션 객체를 인덱스로 관리하기 때문에 객체를 저장하면 인덱스가 부여되고 인덱스로 객체를 검색 삭제 할수있는 기능을 제공한다. ArrayList() 는 특정 인덱스의 객체를 제거하거나 삽입하면 , 전체가 앞 뒤로 당겨지거나 밀리기때문에 빈번하게 객체 삭제나 삽입이 일어나는곳에서는 바람직하지 않는다 . Vector() 멀티쓰레드 환경에서 쓰는것이 바람직함 LinkedList() 다른 리스트와 거의 다 동일하고 ArrayList()와 상반되게 , 삭제와 삽입이 링크를 끊어주고 넣어주기만 하면되기 때문에 객체의 삭제와 삽입이 빈번한 곳에서 ArrayList 보다 유리하다 ! HTML 삽입 미리보기할 수 없는 소스 Board 라는 클래스를 만들어두고 , 이것을 담을 List 를 구현해보았다 . HTML.. 2022. 10. 4.
[Java] 자바 자료구조 컬렉션 프레임워크(Collection Framwork) 간단 정리 - CodeRecorder 자바는 널리 알려져잇는 자료구조(Data Structure)를 바탕으로 객체들을 효율적으로 추가 ,삭제 검색 할수있도록 java.util 패키지에 포함시켜 놓았고 , 그 모음들을 컬렉션프레임 워크라고 부른다 ! 주로 List , Set , Map 이 있고 그 특징들은 List 순서를 유지하고 저장 - 인덱스를 가짐 , 중복 저장이 가능 Set 순서를 유지하지않고 막 저장됨 , 중복저장 안됨 Map 키와 값으로 구성된 엔트리로 저장이 됨, 키는 중복저장 안됨 2022. 10. 4.
[java] 인터페이스(Interface) 선언 정리 및 예제코드 - CodeRecorder 인터페이스 , 선언 자바 클래스와 마찬가지로 지어준다 ! 인터페이스 안에는 상수 , 추상 메소드 , 디폴트(default) 메소드 ,정적(static) 메소드 가 올수있다 ! 특히 상수는 그냥 타입 상수명 = 값; 으로 작성 할 수 있는데 보통 상수는 static final 이 붙은게 상수라고 불리우는데 인터페이스 안의 상수는 static final 을 생략해도 인식해준다 ! 타입 상수명 = 값; 으로 작성 하면된다 꼭 선언과 동시에 초기값을 지정해야한다 ! 안그럼 컴파일 에러남! 상수는 기본값이 없기 때문에 ! 메소드는 일반적으로 추상메소드를 사용하고 그냥 리턴타입 메소드명 (매개변수) 로 선언해도 앞에 public abstract 를 컴파일할때 붙여준다 ! HTML 삽입 미리보기할 수 없는 소스 그리.. 2022. 10. 3.
[java] 자바 인터페이스(interfaec)란 ? 짧은 글 정리 - CodeRecorder 인터페이스란 ? 개발코드와 객체가 통신하는 접점이다 ... -- 나중에 스프링 프레임워크를 쓰게 된다면 데이터베이스 안에 정보를 가져오기 위해서 쿼리문을 작성해야하는데 그 쿼리문을 동작시키는 객체를 불러온다 ! 인터페이스의 역할은 ? 말 그대로 접점이기 때문에 개발코드와 인터페이스에 연결된 쿼리문이 들은 객체를 유지보수 하기 용이하다 ! 2022. 10. 3.
[java] 추상 메소드 와 오버라이딩(@Override) 정리 및 예제코드 - CodeRecorder 추상 메소드 는 ? 특징 1 메소드 추상클래스 안에서만 사용가능 ! 특징 2 추상클래스 에는 메소드의 선언부만 작성한다 ex ) public abstract void sound(); // 실행블록이 없다 사용법 !? 실체클래스에서 오버라이딩 해서 사용한다 ! HTML 삽입 미리보기할 수 없는 소스 부모의 Animal 클래스를 추상클래스로 만들고 ! breath() 라는 메소드를 만들고 추상메서드인 sound 메소드를 만들었다 ! HTML 삽입 미리보기할 수 없는 소스 Cat 클래스에 sound를 오버라이딩해서 "야옹" 이라고 출력하게 만들었고 HTML 삽입 미리보기할 수 없는 소스 Dog 클래스에 sound를 오버라이딩해서 "멍멍"이라고 출력하게 만들었다 . HTML 삽입 미리보기할 수 없는 소스 dog.. 2022. 10. 3.
[java] 추상 클래스 (abstract) 정리(설명) 및 예제코드 - CodeRecorder animal은 동물이고 , 그 안에 새 , 벌레 , 물고기 를 포함하는 개념이다 추상 클래스(abstract class)는 실제 (새 , 벌레 ,물고기) 들의 공통되는 필드와 메소드를 정의한 클래스를 말한다 ! 특징 1 추상 클래스는 실체 클래스의 부모 클래스 역할을 할수있다 ! 특징 2 추상클래스는 단독으로 객체를 생성할수없다 Animal animal = new Animal(); 이런식으로 객체를 생성할수없다 ! HTML 삽입 미리보기할 수 없는 소스 기본적인 핸드폰의 기능들을 abstract 클래스로 만들어서 부모로 만들어준다 ! HTML 삽입 미리보기할 수 없는 소스 추상메서드 phone을 부모로하는 SmartPhone 클래스를 만들어준다 ! // SmartPhone객체를 생성할때 필요한 생성자를 .. 2022. 10. 3.
[java] 상속에서 강제 타입변환(casting) 정리 및 예제코드 - CodeRecorder 강제 타입 변환이란(Casting) ? 부모타입을 자식 타입으로 변환 하는것을 말한다 ! public class B extends A 이런 클래스가 있다면 (B가 A를 상속받음) 일반적으로 A a = new B(): 이런경우는 많이 보았을 것이다 (자동 타입 변환 ) 그런데 B b = a ; 이런 경우는 불가능하다 근데 가능하게 만드는것이 Casting 이라는 개념인데 B b = (B) a ; 이렇게 B 로 바꿔주는 캐스팅의 과정을 거쳐야 한다 ! 위의 과정은 복원의 과정이고 애초에 A a = new A(); B b = (B) a ; A타입으로 선언된 a 은 아무리 B로 바꾸고 싶어도 가능하지 않다는점이다 ! 캐스팅이 가능한 조건은 ? 자식타입이 부모 타입으로 변환된 상태에서만 다시 원래대로 복원이 가능.. 2022. 10. 3.
[java] 자바 타입변환 과 다형성(polymorism) 글 정리(해석)- CodeRecorder 이 그림이 의미하는것은 ? myCar 는 Car 객체이고 , 그 안을 들여다보면 필드값으로 Tire.왼쪽앞바퀴 = new Tire(); Tire.오른쪽앞바퀴 = new Tire(); Tire.왼쪽뒷바퀴 = new Tire(); Tire.오른쪽뒷바퀴 = new Tire(); 이렇게 되어있고 Tire.오른쪽앞바퀴 = new 한국타이어(); 와 Tire.왼쪽뒷바퀴 = new 금호타이어(); 로 객체를 바꿔줬다 ! 그래서 결과로는 Tire.왼쪽앞바퀴 = new Tire(); Tire.오른쪽앞바퀴 = new 한국타이어(); Tire.왼쪽뒷바퀴 = new 금호타이어(); Tire.오른쪽뒷바퀴 = new Tire(); 이렇게 바뀐결과이고 왼쪽 앞바퀴와 , 오른쪽 뒷바퀴는 Tire클래스에 있는 roll()을 사용할것이.. 2022. 10. 3.