Language/Java 37

17. 객체지향(3)

1. 클래스와 인스턴스 - 클래스(Class): 객체를 생성하기 위한 설계도- 인스턴스(Instance): 클래스 설계도를 바탕으로 실제로 생성된 객체- 클래스는 new 연산자와 생성자를 통해 인스턴스를 생성VendingMachine vm = new VendingMachine();1) 인스턴스 생성 방법 - new 연산자와 생성자 사용 -> 가장 일반적인 방법Book[참조타입] book[참조변수] = new[new 연산자] Book()[생성자];- 클래스 로더를 이용한 방법 -> 특정 상황에서 사용되며, Java 프레임워크나 스프링 등의 환경에서 주로 사용- 메모리에 있는 인스턴스를 복제하는 방법 -> 거의 사용되지 않으며, 특별한 상황에서만 사용 2. 인스턴스의 중요성 - 인스턴스를 너무 많이 생성하면..

Language/Java 2024.06.15

16. 객체지향(2) - 자판기

1. 자판기의 구조와 동작1) 자판기의 구성 요소- 물건이 나오는 구역, 동전 투입구, 상품 표시창, 버튼 등A. 자판기의 동작 과정 - 동전을 투입하면 투입된 동전의 금액이 표시됨- 원하는 상품의 버튼을 누르면 상품이 배출됨- 금액이 부족하면 알림이 표시됨2) 자판기의 객체와 메소드 - 객체(Object): 자판기, 동전, 상품, 버튼 등- 메소드(Method): 동전 투입, 상품 선택, 상품 배출 등2. 클래스 다이어 그램1) 요구사항 정의- 소프트웨어 개발에서 요구사항 정의의 중요성- 자판기의 요구사항을 정의하고 이를 기반으로 기능 목록을 작성2) 객체와 객체 간의 관계 - Association (연관 관계): 자판기가 동전 투입구, 상품 표시창 등을 가짐- Dependency (의존 관계): 버튼..

Language/Java 2024.06.15

15. 객체지향(1)

1. 객체(Object), 인스턴스(Instance), 클래스(Class)1) 클래스(Class) - 클래스는 객체를 만들기 위한 설계도, 예를 들어, 책상(Class)은 다양한 형태의 책상(Instance)을 만들기 위한 설계도2) 객체(Object)와 인스턴스(Instance) - 객체는 실제로 존재하는 물체를 의미하며, 인스턴스는 클래스의 설계도를 바탕으로 실제로 만들어진 객체- 예를 들어, 책상 설계도(class)를 통해 만들어진 실제 책상(Instance)2. 메모리 구조와 인스턴스 생성1) 인스턴스 생성 - new 키워드를 사용하여 인스턴스를 생성- 생성된 인스턴스는 메모리의 힙 영역에 저장- 예를 들어, Book 클래스를 사용하여 new Book()로 인스턴스를 생성하면 힙 영역에 인스턴스가..

Language/Java 2024.06.15

14. break 와 continue

1) break와 continue- break와 continue는 반복문에서 제어 흐름을 조절하는 키워드- break: 가장 가까운 반복문을 즉시 종료하고, 반복문 바깥으로 빠져나감- continue: 가장 가까운 반복문에서 현재 반복을 중단하고, 다음 반복을 시작2) 중첩 반복문에서의 break와 continue - 중첩 반복문에서 break와 continue는 인접한 반복문에만 영향을 줌, 전체 반복문을 한 번에 빠져나가려면 라벨을 사용해    야 함- 라벨은 특정 반복문을 지정할 수 있게 해줌, 라벨을 사용하여 중첩 반복문을 한 번에 빠져나가거나, 특정 반복문을 다시      시작할 수 있음3) 라벨과 break- 라벨을 사용하여 중첩 반복문을 빠져나갈 수 있음outer: for (int i = 0..

Language/Java 2024.06.13

13. 반복문 for

1) for 문- for 문은 반복문 중 하나로, 한 줄에 초기화, 조건식, 증감식을 모두 작성할 수 있음for (초기화; 조건식; 증감식) { // 반복할 코드}for (int i = 0; i - 위 코드는 i가 0부터 9까지 반복하며, "*"를 10번 출력- 예제 : 1부터 10까지 정수를 출력for (int i = 1; i - i가 1로 초기화되고, 10보다 작거나 같을 때까지 반복하며, 각 반복마다 i를 출력하고 i를 증가시킴2) 중첩 for 문- for 문 안에 또 다른 for 문을 포함할 수 있습니다. 이를 중첩 for 문이라 함- 예제 : 구구단 출력for (int i = 1; i - 첫 번째 for 문은 i가 1부터 9까지 반복- 두 번째 for 문은 j가 1부터 9까지 반복- 각 반..

Language/Java 2024.06.13

12. 반복문 do / while 문

1) do while 문- do while 문은 반복문 중 하나로, while 문과 비슷하지만 무조건 한 번은 실행된다는 특징이 있음do { // 반복할 코드} while (조건문);- do while 문은 조건을 검사하기 전에 블록을 먼저 실행하기 때문에, 조건이 거짓이더라도 최소 한 번은 실행 됨- 예제 : 1부터 10까지의 정수를 출력int i = 1;do { System.out.println(i); i++;} while (i - i가 1로 초기화- do 블록 내의 코드가 실행되어 i가 출력되고, i가 1 증가- 조건문 i - i가 11이 되면 조건이 거짓이 되어 반복을 종료- 결과: 1부터 10까지 출력2) 사용 예시- do while 문은 사용자에게 값을 물어보거나, 특정 조건이..

Language/Java 2024.06.13

11. 반복문 while

1) 반복문 while- while은 자바에서 제공하는 여러 반복문 중 하나- 반복문은 컴퓨터가 가장 잘하는 일 중 하나로, 특정 조건이 참인 동안 계속 반복- while 문의 형식while (조건문) { // 반복할 코드}int i = 1;while (i - 위 코드에서 i가 1부터 5까지 출력, 조건문이 참인 동안 반복하며, i가 6이 되면 반복을 종료2) 디버그 모드- 디버그 모드는 코드 실행 중 중단점을 설정하여 프로그램의 상태를 점검할 수 있는 기능A. 디버깅 방법(인텔리제이)- 디버그하고 싶은 코드 줄에 중단점(브레이크 포인트)을 설정 -> 확인하고 싶은 코드 앞부분에 커서를 가져가면 빨간 점이    생김- 디버그 모드로 실행 -> 오른쪽 상단에 초록색 벌레 모양 아이콘 (shift+F9..

Language/Java 2024.06.13

10. 조건문 switch

1) switch문- switch 문은 여러 조건을 처리할 때 유용, 경우에 따라 if 문보다 가독성이 좋고, 이론적으로는 속도가 빠를 수 있음switch (변수) { case 값1: // 값1일 때 실행될 코드 break; case 값2: // 값2일 때 실행될 코드 break; default: // 그 외의 값일 때 실행될 코드 break;}int num = 1;switch (num) { case 1: System.out.println("1입니다."); break; case 2: System.out.println("2입니다."); break; c..

Language/Java 2024.06.13

9. 조건문 if와 삼항 연산자

1) 조건문 if- if 는 제어문 중 하나, 순차적인 흐름에서 조건에 따라 제어가 필요할 때 사용- 기본 형식if (조건문) { // 조건이 참일 때 실행되는 블록}int a = 5;if (a > 4) { System.out.println("a는 4보다 큽니다.");}- 위 코드에서 a는 4보다 크기 때문에 "a는 4보다 큽니다."가 출력2) if-else- if-else 문은 조건이 거짓일 때 다른 블록을 실행if (조건문) { // 조건이 참일 때 실행되는 블록} else { // 조건이 거짓일 때 실행되는 블록}int a = 3;if (a > 4) { System.out.println("a는 4보다 큽니다.");} else { System.out.println("a..

Language/Java 2024.06.13

8. 삼항 연산자와 instanceof 연산자

1) 삼항 연산자- 삼항 연산자는 조건문을 간결하게 표현할 수 있는 연산자, 자바에서 유일한 삼항 연산자- 형식 : 조건식 ? 참일 때 값 : 거짓일 때 값int result = (a > b) ? a : b;- 위 코드에서 a 가 b 보다 크면 result는 a의 값을 가지고, 그렇지 않으면 result 는 b의 값을 가짐2) instanceof 연산자- instanceof 연산자는 객체가 특정 클래스의 인스턴스인지 확인할 때 사용- 형식 : 객체 instanceof 클래스 if (obj instanceof String) { System.out.println("obj는 String 클래스의 인스턴스입니다.");}- 위 코드에서 obj가 String 클래스의 인스턴스라면 if문 안의 코드가 실행

Language/Java 2024.06.13