본문 바로가기

Java/문법21

Java 자료형 없이 변수 선언하기 var 원래 자바의 모든 변수는 사용할 자료형을 정확히 명시해야하나 자바 10부터 생긴 문법 중지역 변수 자료형 추론 (local variable type inference)는변수에 대입되는 자료를 보고 컴파일러가 추측하여 처리가능 public class Test { public static void main(String[] args) { var num =10; var dNum =10.0; var str="hello"; num은 int로, dNum은 double로, str은 String 으로 컴파일러가 처리완료!   주의점:한번 선언한 자료형 변수를 다른 자료형으로 사용할 순 없음-str 변수는 이미 String으로 처리 되었기 때문에 정수값을 넣을 수 .. 2024. 12. 15.
Java의 꽃 상속 - Extend, Overriding OOP(Object-Oriented Programming)의 4대 원칙캡슐화 (Encapsulation): 객체의 데이터와 그 데이터를 처리하는 메서드를 하나로 묶어 외부에서 직접 접근할 수 없도록 하는 것입니다. 이를 통해 데이터의 무분별한 변경을 방지하고 객체의 안정성을 높입니다.상속 (Inheritance): 기존의 클래스를 기반으로 새로운 클래스를 생성하는 기능으로, 코드의 재사용성을 높이고 중복된 코드 작성을 줄입니다. 예를 들어, '동물' 클래스에서 '포유류' 또는 '조류' 클래스를 파생시킬 수 있습니다.다형성 (Polymorphism): 같은 이름의 메서드가 서로 다른 형태로 동작할 수 있는 능력입니다. 이는 메서드 오버로딩과 오버라이딩을 통해 구현되며, 유연한 코드 작성을 가능하게 합니다... 2024. 12. 13.
Java Static 키워드 Static 변수에 대해 알아봅시다~ Student의 변수들을 지정해주면서serialNumber는 static으로 지정했습니다. 어떤 차이가 있을까요?package entity;public class Student { public String name; public int id; public static int serialNumber; public Student() { } public void print(){ System.out.println("이름: "+name+" 아이디: "+id); System.out.println("스태틱 변수: "+serialNumber); }}   메인클래스에서s1. 자동 완성 기능 사용 시Student클래스에서 .. 2024. 12. 13.
Java 작성 시 신경쓰면 좋은 Early return, Guard clause * return false가 먼저 오도록 작업 하기 Why?Early return이란?불필요한 코드 실행 방지: return false 이후의 코드는 실행되지 않으므로, 조건이 충족되지 않았을 때 불필요한 작업을 막을 수 있다.성능 최적화: 조건이 충족되지 않은 경우 즉시 함수를 종료함으로써 리소스를 절약할 수 있다. 예제 - 강의 등록, 취소 import entity.Lecture;import entity.Student;public class StudentTest { public static void main(String[] args) { // 학생 입력 Student s1=new Student("김나나","32번"); Student s2=new Student.. 2024. 12. 12.
Java 연산자 3+4 에서3,4는 항, +는 연산자 그러면 자바에서의 연산자는? 항의 개수에 따라 단항, 이항, 삼항 연산자 우선순위예시단항 연상자1순위++num이항 연산자2순위num1+num2;삼항 연산자3순위(5 > 3) ? 1 : 0;  대입 연산자 =변수에 값을 대입하는 연산자이항 연산자 중 우선순위가 가장 낮음 (모든 연산을 끝낸 후 마지막 연산결과를 변수에 대입!)int age = 24; 부호 연산자 +,-음수 양수를 나타내는 단항 연산자로 사용 (+3, -3)덧셈, 뺄셈에 쓰이는 이항 연산자이기도함 산술 연산자 +, -, *, /, %사칙연산에 사용사칙연산의 우선순위와 동일함 (%,/,* 1순위 , -+ 2순위)+더하기5+3-빼기5-3*곱하기5*3/나누기의 몫5/3%나누기의 나머지5%3 증가, 감소 연산자.. 2024. 12. 11.
Java 생성자(Constructor) 생성자(Constructor)란?자바의 객체 지향 프로그래밍에서 클래스의 생성자는 객체 생성 시 제일 먼저 호출되는 특수한 메서드다. 객체가 고유한 상태를 초기화하고 정상적인 작업을 수행할 수 있게 준비하는 매우 중요한 역할을 수행한다. 생성자는 클래스로부터 객체를 생성할 때 new 연산자와 함께 호출되어 객체의 필드를 초기화하고, 메서드를 호출해 객체를 사용할 준비를 하는 특별한 블록이다. 생성자는 왜 필요한가?객체의 상태는 필드(변수)에 의해 결정됩니다.필드에 특정 값을 설정함으로써 객체마다 다른 상태를 지닐 수 있다.클래스 설계상에 초기값을 설정해주지 않으면, 모든 객체가 동일한 데이터를 갖게 될 위험이 있다.따라서 생성 시점부터 원하는 초기값을 객체에 설정할 수 있도록 생성자가 필요!  Defau.. 2024. 12. 11.
Java MethodOverloading public class AddTest { public static void main(String[] args) { // 두 정수를 더하는 함수를 메소드로 가지고 있는 클래스를 만들자. // 이 클래스를 이용해서 3과 5를 더해보자. Add n1 =new Add(); public class Add { // 이 클래스에는 멤버 변수가 없다. // 두 정수를 더해서 보여주는 함수 int sum(int num1, int num2){ return num1+num2; } // 두 실수를 더하는 함수 double dsum(double num1, double num2){ return num1+num2; } /.. 2024. 12. 11.
Java 메서드 public class Product { // 제품 아이디 int id; // 제품명 String name;}Product 클래스에 id와 name 필드(멤버변수) 만들기 public class ClassTest { public static void main(String[] args) { int age = 30; // 아이디는 1, 이름은 컴퓨터 인 데이터를 만들자 = 객체생성 Product p1 = new Product(); p1.id = 1; p1.name = "컴퓨터"; // src에서 내가 만든 데이터타입 Product // new는 메모리(저장공간)를 heap에 생성하라! .. 2024. 12. 10.
Java 인스턴스화(instantiate) 개념잡기 클래스 데이터테이블과 유사개념비슷한 데이터들을 하나의 묶음으로 만든 것묶음으로 프로그래밍- 객체지향 프로그래밍묶음(객체)=상태와 동작 클래스를 만드는 부분과 = 건물의 설계도, 필드와 메소드가 포함됨클래스를 이용하는 부분이 있다. =그 설계도를 바탕으로 실제로 건물을 짓고 사용하는 과정, 인스턴스화 하는부분 데이터베이스와 차이데이터베이스는 데이터를 저장, 관리하는 시스템테이블(레코드, 컬럼) 형식으로 데이터를 구조화하여 저장테이블간 외래키를 이용 (RDMS) 클래스는 객체를 생성하기 위한 설계도속성과 메서드를 정의하며, 이를 통해 특정 유형의 객체를 생성상속을 통해 객체 지향적인 관계 형성 (OOP) 인스턴스클래스(Class)의 정의를 기반으로 메모리상에 할당된 구체적인 객체ex- Person이라는 클래.. 2024. 12. 10.