본문 바로가기

Skill Stacks/Java28

19. Java 클래스 (추상 클래스, 인터페이스) 19. Java 클래스 (추상 클래스, 인터페이스) 추상 클래스 추상화 클래스는 객체를 만들 수 없다 public abstract class PlayerMovement{ abstract void kick(); } public class Player extends PlayerMovement{ public void kick() { System.out.println("Kick"); } } 어떠한 특정 행동을 해도, 사람마다 다 다르게 행동한다 공부를 할 때에, 계획을 먼저 세운다음 공부를 하는 사람이 있고 그냥 공부하는 사람이 있고 노래를 들으면서 공부하는 사람과, 그렇지 않은 사람들이 있다 위처럼, 큰 틀에서는 같은 행동을 하지만, 자세한 부분에서 차이점이 있으면, 추상화를 통해 큰 틀을 만들고, 그 클을 .. 2023. 6. 5.
18. Java 클래스 (속성) 18. Java 클래스 (속성) 객체 객체는 상태와 행동이 있다 (State and Behavior) 클래스를 만들 때에는 state, constructor 그리고 Behavior를 설정해 놓는 것이 좋다 상태, 생성자, 행동/메서드 선풍기의 예시 state 는 선풍기의 기본적인 상태이다 constructor는 객체를 만들면서, 선풍기의 상태를 지정해준다 Behavior는 객체가 할 수 있는 행동이다 public class Fan { // state (상태) private String make; private double radius; private String color; private Boolean isOn = false; private int speed; // constructor Fan (Stri.. 2023. 6. 2.
17. Java Array, ArrayList 17. Java Array, ArrayList 가변적 매개변수 (Variable Arguments) // 1번 Student student = new Student("Alex", new int[] {97, 81, 100}); // 2번 Student student = new Student("John", 88, 77, 100, 66); 1번처럼, 2개의 arguments를 클래스에 넣어서 객체를 만들 수 있다 이 때에 입력할 수 있는 argument는 고정이 되어 있다 2번 같은 경우, 숫자들은 모두 점수이다 여기서는 클래스에 입력할 수 있는 argument의 개수가 고정이 아니다 고정적인 argument보다는, 다양한 값을 클래스에 넣고 싶을 때에 가변적 매개변수를 사용한다 public int sum (.. 2023. 5. 31.
16. Java Array 16. Java Array Array가 필요한 이유 여러 변수를 만들어서, 각 변수마다 값을 저장하는 것보단, 변수 하나를 만들어 Array에 값들을 저장할 수 있다 똑같은 변수에 이름만 다르게 해서, 값들을 저장하는 것보단, 하나의 변수에 값들을 저장하는 것이 더 효율적이다 그리고 Array는 순회가 가능해서, 찾고자 하는 값을 순회를 하며 찾으면 된다 jshell> int[] marks2 = new int[5]; marks2 ==> int[5] { 0, 0, 0, 0, 0 } jshell> int[] marks = {1, 2, 3}; marks ==> int[3] { 1, 2, 3 } jshell> marks2[0] = 5; $3 ==> 5 jshell> marks2 marks2 ==> int[5] .. 2023. 5. 29.
15. Java Wrapper 클래스, Dates 15. Java Wrapper 클래스, Dates Wrapper 클래스란? Wrapper : Boolean, Byte, Character, Double, Float, Integer, Long, Short Primitive : boolean, byte, char, double, float, int, long, short 위에 보이는 것 같이 Wrapper 클래스는 Primitive 값을 감싸준다 Wrapper 클래스는, 다양한 옵션을 제공해준다 Wrapper만에 메서드가 있다 아래는 Integer 위주로 사용하지만, 다른 Wrapper 클래스들도 사용이 가능하다 jshell> Integer integer = new Integer(5); integer ==> 5 jshell> integer integer =.. 2023. 5. 28.
14. Java String 대체 클래스 14. Java String 대체 클래스 string 같은 경우, 변수가 만들어지면, 변수의 값은 바뀔 수가 없다 StringBuffer 멀티스레딩이 가능한 클래스다 하지만 싱글스레딩을 할 때에는 느릴 수 있다 jshell> StringBuffer sb = new StringBuffer("Test"); sb ==> Test jshell> sb.append("Test"); $27 ==> TestTest jshell> sb sb ==> TestTest jshell> sb.setCharAt(3, 's'); jshell> sb sb ==> TessTest StringBuffer 클래스를 사용하면, 문자열의 값을 바꿀 수 있다 .setCharAt(index, string); index에 있는 알파벳을, strin.. 2023. 5. 27.
13. Java Reference Types, 내장 String 클래스 13. Java Reference Types, 내장 String 클래스 메모리에 저장 Reference Types 생성되는 모든 클래스가 Reference Type이다 // planet은 reference type class Planet { } 그 외에 이미 자바에 만들어진 reference types는 String, BigDecimal 등이 있다 Reference Variable 클래스를 토대로 만든 변수를 reference variable이라고 한다 class Planet { } Planet jupiter = new Planet(); // 여기서 jupiter는 reference Variable이다 reference variable은 힙에 저장이 된다 더 나아가, 스택에는 value에는 메모리 공간이.. 2023. 5. 27.
12. Java 반복문 12. Java 반복문 For 반복문 javascript for문의 구조와 같다 for (int i = 0; i 2023. 5. 19.
11. Java 조건문 11. Java 조건문 If Else if (i == 3) { System.out.println("True"); } else { System.out.println("i is not 3"); } i 가 3이면 True를 출력한다 if문이 true이기 때문에 i 가 3이 아니면 'i is not 3' 를 출력 else 를 통해 3이 아닌 모든 조건은 'i is not 3'를 출력한다 if (i == 25) { System.out.println("i is 25"); } else if (i == 24) { System.out.println("i is 24"); } else { System.out.println("i is neither 25 or 24"); } i 가 25 이면 if (i == 25) 에서 끝나고.. 2023. 5. 19.