본문 바로가기

Coding/Java5

Java - 추상 클래스, 인터페이스 교수님께서 추상클래스와 인터페이스의 차이를 꼭 알아야 한다고 말씀하셨습니다. 우선 하나씩 설명하고 마지막에 공통점과 차이점을 나눠보겠습니다. 추상 클래스 ( abstract class ) 형태 ex) abstract class 추상클래스명 { 추상메소드; 다른 멤버들( 메소드, 변수 등...) } abstract class Human { abstract public void status(); int age = 10; public void getAge(int age) { this.age = age; } } 우선 선언하는 방법은 위와 같습니다. 추상클래스와 추상메소드를 선언할 때는 둘 다 앞에 abstract 키워드를 써줍니다. 추상클래스의 특징과 사용이유를 봐보겠습니다. 특징 1) 추상메소드를 하나라도 가.. 2023. 7. 28.
Java - 해시맵 ( HashMap ) 저번 글에서 컬렉션 중에 리스트에 대해 알아보았고 이번에는 HashMap 에 대해 알아보겠습니다. HashMap HashMap은 키(key)와 값(value)으로 이루어진 자료구조입니다. 이는 파이썬의 딕셔너리터럼 순서가 없습니다. 선언방법 HashMap 해시맵이름 = new HashMap(); ex) 예시1) HashMap hm = new HashMap(); 예시2) HashMap hm = new HashMap(); 위 방법대로 선언 하면됩니다. 다만 한가지 주의할 점은 제네릭에는 자료형이 기본타입(ex. int, double, char)이 들어가면 안 되며, 꼭 복합타입(클래스타입)이 들어가야 합니다. HashMap 메소드 메소드 설명 put(key, value) key에 value 넣고 추가하기 g.. 2023. 7. 21.
Java - 컬렉션 리스트 ( List, ArrayList, Vector, ...) 자바의 java.utill 패키지는 컬렉션 클래스를 제공합니다. 컬렉션은 제네릭을 사용하고 자료형을 가변크기로 다룰 수 있게 해 줍니다. 마치 파이썬의 리스트 같다고 생각하면 편할 것입니다. 대신 파이썬과 다른 점은 오직 한 타입의 자료만 다를 수 있다는 점이 다릅니다. 그 컬렉션 중에 리스트에 대해 오늘 알아보겠습니다. List 선언방법 선언 방법 ex) 사용할리스트 리스트명 = new 사용할리스트(); 예시1) ArrayList list = new ArrayList(); 예시2) Vector list = new Vector(); 위 방법대로 선언 하면됩니다. 다만 한가지 주의할 점은 제네릭에는 자료형이 기본타입(ex. int, double, char)이 들어가면 안 되며, 꼭 복합타입(클래스타입)이 .. 2023. 7. 14.
Java - 메소드 오버로딩, 오버라이딩 ( Overloading, Overriding ) 자바의 3대 특성에는 캡슐화, 상속, 다형성이 있습니다. 이때 다형성을 실현하기 위한 가장 중요한 기능 중 하나인 메소드 오버로딩과 오버라이딩에 대해 알아보겠습니다. 메소드 오버로딩 ( Method Overloading ) 조건 1. 동일한 클래스 or 상속 관계에서 일어남 2. 메소드 이름이 같아야함 (파라미터 개수, 파라미터 타입은 달라야 됨) 3. 리턴타입은 오버로딩에 영향을 미치지 않음. (구분할 수 없기 때문) 메소드 오버로딩의 조건은 위와 같습니다. 저번에 생성자를 하면서 메소드 오버로딩을 잠깐 했었습니다. 참고로, 메소드뿐만 아니라 생성자에서도 메소드 오버로딩이 일어납니다. class CakeStatus { public int radious, height = 10; public CakeSta.. 2023. 6. 30.