분류 전체보기 (51) 썸네일형 리스트형 HashMap ● HashMap 이란? : HashMap은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐로서, key, value의 쌍으로 저장한다. import java.util.HashMap; public class HashMapMain { public static void main(String[] args) { HashMap phoneMap = new HashMap(); // 데이터 저장 C phoneMap.put("model", "ipone 12"); phoneMap.put("year", "2021"); phoneMap.put("color", "red"); // 데이터 가져오기 R String value = phoneMap.get("color"); System.out.println(value); // 데이터 값 변.. Array(배열), Integer public class StringMain { public static void main(String[] args) { // 문자열 생성 방법 2가지 String str1 = "Hello"; String str2 = new String("Good"); System.out.println(str1); System.out.println(str2); // 문자열 붙이는 법 System.out.println(str1+str2); System.out.println(str1+" "+str2); // 문자열을 숫자로 바꾸는 법 String str4 = "217"; // 첫번째 방법 int a = Integer.valueOf(str4).intValue(); System.out.println(a + 500); int b .. ArrayList ● ArrayList를 왜 사용할까? : Array (배열)은, 생성할 때 무조건 갯수를 정해놓고 생성해야한다. 한번 만들면 끝, 추가할 수 없다 따라서, 갯수 제한없이 데이터를 마음대로 추가할수도 있고, 삭제할수도 있는 ArrayList를 이용한다. // 파이썬은 리스트에 문자들 숫자든 넣으면 됬는데 자바는 미리 정해줘야한다 ArrayList nameList = new ArrayList(); // 데이터 넣기 C nameList.add("홍길동"); nameList.add("김나나"); nameList.add("철수"); // 데이터 넣기 R System.out.println(nameList.get(1)); // 데이터 변경 U nameList.set(1, "Mike"); System.out.print.. 인터페이스(Interface) ● 인터페이스란? : 추상클래스와 비슷하지만, 인터페이스로 만들면, 이 인터페이스들 여러개를 동시에 상속받아서 사용할 수 있으므로, 프레임워크 개발자들은 인터페이스를 만들어 놓는다. ○ 인터페이스는 상수와 추상메소드로 구성 ○ 상수란, 변수에 한번 데이터를 저장한후에는, 값을 바꿀 수 없는 변수 ○ 인터페이스는 객체생성안한다. package model; public interface Card { static final int CLOVER = 1; // final를 써야 상수가 된다 static final int HEART = 2; static final int DIAMOND = 3; static final int SPADE = 4; // 아래 함수를, 상속받은 사람이, 이함수 이름을 그대로 사용해서 구현.. 수직 상속, Abstract Class ● 수직 상속은 실무에서 많이 쓴다고한다. ex) 안드로이드 프레임워크 예시) package model; public class GrandParent { private String name; private int age; public GrandParent(String name, int age) { this.name = name; this.age = age; } public GrandParent() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age.. 실습: 학사관리 package model; public class Person { public int num; public String name; public String dept; public String address; public Person(int num, String name, String dept, String address) { this.num = num; this.name = name; this.dept = dept; this.address = address; } public Person() { } public void print() { // TODO Auto-generated method stub System.out.println(num); System.out.println(dept); System.ou.. 메소드 오버라이딩(Method Overriding) ● 메소드 오버라이딩이란? : 부모클래스로부터 물려받은 함수이름을 그대로 사용하되, 나에게 맞는 코드로 수정해서 사용하겠다. 비슷한 예로 api 서버개발할 때 Resource의 post함수 사용해서 내가 원하는거에 맞게 코드 추가했었다. package model; public class Child extends Parent { public String hobby; @Override // 어노테이션이라고한다 -> 개발자에게 알려주려고 쓴다 public void print() { super.print(); System.out.println(hobby); } } ○ super는 부모클래스이다. ○ super() → 이렇게 쓰면 부모의 생성자를 호출하라는 뜻이다. private와 상속 package model; public class Parent { public String name; public int age; private int money; public void print(){ System.out.println(name); System.out.println(age); System.out.println(money); } } ▶money변수를 private로 바꿨다 그렇다면 money 변수는 상속이 될까? : 상속이 된다! 노출을 안해서 다른곳에서 접근 못하게 한다는 것이지 상속이 안되는 것이 아니다. 접근이 되지 않기때문에 대신 getter/setter를 사용해줘야한다. package model; public class Parent { public String name; publi.. 상속 (Parent-Child 관계) package model; public class Parent { public String name; public int age; public int money; public void print(){ System.out.println(name); System.out.println(age); System.out.println(money); } } package model; public class Child extends Parent { public String hobby; public void printChild(){ System.out.println(name); System.out.println(age); System.out.println(money); System.out.println(hobby); }.. 생성자 Constructor ● 생성자란? : 메모리 공간 확보 + 데이터저장을 한번에 하기위해 만들어졌다. 1. 눈에 안보이지만 , 기본적으로 Member()라는 생성자는 만들어져 있다. 따라서 지금가지 에러 없이 잘 사용해왔다. 2. 이제는 파라미터가 있는 생성자가 필요하다. 이 생성자는 기본적으로 제공하는것이 아니므로, 우리가 만들어줘야한다. (단, 생성자는 리턴타입이 없다/생성자 함수 이름은 클래스 이름과 같다) 예시) Member(String name, String tel, String address) { this.name = name; this.tel = tel; this.address = address; } 3. 우리가 생성자를 만들면 자바가 디폴트로있는 생성자는 필요없다고 판단하여 없앤다! 그래서 변수가 없는 생성자도.. 이전 1 2 3 4 5 6 다음