Java/Java 문법 31

Java 문법 10 (제네릭)

타입을 유연하게 다루는 제네릭. 중복되거나 필요 없는 코드를 줄여주는 동시에 타입 안정성을 해치지 않는다.더보기// 1.제네릭은 클래스 또는 메서드에 사용 가능하다.// 클래스 이름 뒤에 (에 들어갈 타입 변수로 T, U, V, E 같은 문자를 사용, 컨벤션)를 사용하여 타입 변수 선언.// 선언해놓은 타입 변수는 클래스 안에서 특정한 타입이 들어갈 자리에 사용할 수 있다.// Generic 클래스를 원시 타입이라고 한다.public class Generic { // 2. 내부 필드에 T는 String private T t; // 3. 메서드의 return 타입도 String public T get() { return this.t; } public void s..

Java/Java 문법 2024.09.10

Java 문법 9 (오류 및 예외)

오류(Error)는 일반적으로 회복이 불가능한 문제입니다.이는 시스템 레벨에서, 또는 주로 환경적인 이유로 발생합니다.코드의 문제로 발생하는 경우도 있지만, 일단 발생하는 경우 일반적으로 회복이 불가능합니다.에러가 발생한 경우 우리는 어떠한 에러로 프로그램이 종료되었는지를 확인하고 대응합니다.예외(Exception)는 일반적으로 회복이 가능한 문제입니다.회복이 가능하다는 전제는 우리가 “그 예외가 발생할 수 있다는 것을 인지하고, 대응했을 것입니다”.현실적으로 코드 레벨에서 할 수 있는 문제 상황에 대한 대응은 “예외 처리”에 속합니다.코드 실행 관점에서 예외의 종류컴파일 에러(예외) .java 파일을 .class 파일로 컴파일할 때 발생하는 에러대부분 여러분이 자바 프로그래밍 언어의 규칙을 지키지 않았..

Java/Java 문법 2024.09.09

Java 문법 8 (인터페이스)

인터페이스 : 상속 관계가 없는 다른 클래스들이 서로 동일한 행위 즉, 메서드를 구현해야 할 때 인터페이스는 구현 클래스들의 동일한 사용 방법과 행위를 보장한다.  두 객체를 연결해 주는 다리 역할을 한다.사람과 삼성티비, 엘지티비 객체가 존재한다고 생각해 보겠습니다.사람 객체는 멀티 리모컨 인터페이스를 통해서 삼성티비 객체의 채널을 변경할 수 있습니다.이때 삼성티비가 아니라 엘지티비로 객체가 교체된다고 해도 채널을 변경할 수 있습니다.인터페이스는 스팩이 정의된 메서드들의 집합입니다.인터페이스의 구현 클래스들은 반드시 정의된 메서드들을 구현해야 합니다.따라서 구현 클래스들의 동일한 사용 방법과 행위를 보장해 줄 수 있습니다.이러한 특징은 인터페이스에 다형성을 적용할 수 있게 만들어 줍니다.interfac..

Java/Java 문법 2024.09.06

Java 문법7 (상속)

클래스 간의 관계와 상속 📌 상속의 사전적 정의는 부모가 자식에게 물려주는 행위를 말합니다.객체 지향 프로그램에서도 부모 클래스의 필드와 메서드를 자식 클래스에게 물려줄 수 있습니다.상속을 사용하면 적은 양의 코드로 새로운 클래스를 작성할 수도 있고 공통적인 코드를 관리하여 코드의 추가와 변경이 쉬워질 수도 있습니다.이러한 특성 때문에 상속을 사용하면 코드의 중복이 제거되고 재사용성이 크게 증가하여 생산성과 유지 보수성에 매우 유리해집니다.   상속 : 클래스 간의 상속은 extends 키워드를 사용하여 정의할 수 있습니다.public class 자식클래스 extends 부모클래스 {} 상속의 키워드는 extends입니다. 눈치채셨나요? 🤔우리는 상속의 개념을 확장의 개념으로 이해해야 합니다.자칫하여..

Java/Java 문법 2024.09.06

`Java 문법 6 (클래스)

객체 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미. 물질적인 `것`+ 추상적인 `것`.속성과 행위로 구성되어 있고, 필드와 메서드로 정의하여 구현할 수 있다.객체 모델링 : 현실 세계에 있는 것을 소프트웨어의 객체로 설계하는 것소프트웨어의 객체들은 메서드를 통해 데이터를 주고받을 수도 있다.예를 들어, 사람이라는 객체가 자동차라는 객체에게 brakePedal(); 이라는 메서드를 통해 50의 매개값을 넣어 호출하면, 자동차 객체는 자동차 객체의 속성인 브레이크의 값을 50으로 만든다. 이때 사람에게 반환되는 값을 리턴값이라 한다.객체 간의 관계 : 사용 관계 : 사람이 자동차를 사용한다.포함 관계 : 자동차는 페달, 핸들, 엔진 등이 포함한다.상속 관계 : 브레이크 페달(객체1)과 가속 페달(..

Java/Java 문법 2024.09.05

Java 문법6 (클래스)

클래스 만들기더보기// 클래스를 만드는 방법.// 1. 클래서 선언: 만드려고 하는 설계도를 선언// 2. 객체가 가지고 있어야할 속성(필드)을 정의// 3. 생성자 : 객체를 생성하는 방식을 정의(생성자, constructor)// 4. 메서드 : 객체가 가지고 있어야할 행위(메서드)를 정의// 1. 클래스 선언public class Car { // 2. 필드 영역, 객체의 속성(필드) 정의 , 필드를 변수 형태로 넣는다. 메서드를 통해 제어 가능. // 2-1_ 고유 데이터 영역 String company; String model = "GV80"; // class Car를 통해 객체를 만들 때 항상 적용. String color; dou..

Java/Java 문법 2024.09.05

Java 문법 5(배열, 복사, 컬렉션)

배열 (Array) :선언하고 new 명령을 통해서 생성하며, 대괄호[] 안에 크기를 지정한다. Java의 자료구조 중 하나.한 번에 많은 양의 데이터를 다루거나 계산할 때 사용 -> 일반적으로 반복문과 같이 사용하나의 배열형 변수에는 같은 타입의 변수만 담을 수 있다배열은 index가 있고 이는 0번부터 시작함.1. 선언  : `일반적인 선언 방식` 타입[] 변수명;int[] intArray; // 정수 배열long[] longArray;double[] doubleArray; // 실수 배열 char[] charArray; // 문자 배열String[] stringArray; // 문자열 배열       타입 변수명[];int intArray[]; // 정수 배열long longArray..

Java/Java 문법 2024.09.04

Java 문법 4(반복문)

반복문 : 조건을 만족하는 동안 (무한) 반복 실행 1. for문특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용형태: for (초기값; 조건문; 증가연산)  { (연산) } 초기값과 조건문에서 특정 조건을 설정초기값이 조건문을 만족할 때 (연산)을 수행하면서 회차마다 증가연산을 수행한다. 1-1. 향상된 for문for 소괄호 안에 조건을 3개에서 2개로 줄인다.향상된 for 문은 연속된 변수 목록을 출력할 때 사용.형태 : for (변수타입 변수명 : 목록변수)  { (연산) }`변수 타입`과 `변수명`은 for문 안에서 연산을 수행할 변수를 정의 2. while문특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용(for문과 동일)(for문과 다르게) 초기값 없이 조건문만 명시하여 반복, ..

Java/Java 문법 2024.09.03

Java 문법 3 (조건문)

조건문 : 특정 조건에 따라 다른 연산을 수행.   “물이 끓으면 강불에서 약불로 줄여주세요.”  “물이 끓으면”이라는 조건이 만족하면 “약불로 줄이는” 연산을 수행하는 조건문반복문 : 특정 조건에 따라 반복해서 동일한 연산을 수행  “하얗게 색이 변하기 전까지 계속 저어주세요.”  “하얗게 색이 변하기 전” 조건이 만족할 동안 “저어주세요” 연산을 반복하는 반복문 If문1. if문 : if () {}()에 true 또는 false값이 들어가고, true면 내부 로직인 {}을 실행, false면 실행하지 않음.2. if else문 : if(){} else{}위와 비슷하나 ()에 false값이 들어가면 else 이후의 로직인 {}가 실행됨. 3. if else if else문 : if(1){첫 번째 로직}..

Java/Java 문법 2024.09.03

Java 문법 2 (연산자)

연산자 : 계산하기 계산의 대상 : 피연산자(숫자), 계산의 목적 : 연산자산술연산자 : 사칙연산 +, -, *, /, % 과 비트연산 >  *사칙연산        System.out.println(4 + 2);   //6        System.out.println(4 - 2);   //2        System.out.println(4 * 2);   //8        System.out.println(4 / 2);   //2 '/' 몫을 구하는 연산자        System.out.println(5 / 2);   //2 몫만 나옴        System.out.println(2 / 4);   //0        System.out.println(4 % 2);   //0 '%' 나머지를 구하는..

Java/Java 문법 2024.09.03