본문 바로가기

Java49

Java 기본 - 기본형과 참조형 ** 변수의 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있다. 1. 기본형int, long, double, boolean등 처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입기본형은 연산 가능, 참조형은 연산 불가능  int a = 10, b = 20; int sum = a + b;2. 참조형객체(ex) Student student) 및 배열(int[] arr)과 같이 데이터에 접근하기 위한 참조값(주소)를 저장하는 데이터 타입객체는 .(dot), 배열은 []를 통해서 메모리 상에 지정된 주소를 찾아가야 사용가능.기본형을 제외한 나머지는 모두 참조형이다. 기본형 vs 참조형 - 변수 대입** 자바는 항상 변수의 값을 복사해서 대입한다.** 참조형의 경우 실제 사용하는 객체가 아니라.. 2024. 12. 4.
Java 기본 - 클래스(배열) public class ClassStart4 { public static void main(String[] args) { Student student1; student1 = new Student(); student1.name = "학생1"; student1.age = 15; student1.grade = 90; Student student2 = new Student(); student2.name = "학생2"; student2.age = 16; student2.grade = 80; Student[] studnets = new Student[2]; studnets[.. 2024. 11. 19.
Java 기본 - 클래스, 객체, 인스턴스 클래스(Class)클래스는 객체를 생성하기 위한 '틀' 또는 '설계도'이다. 클래스는 객체가 가져야 할 속성(변수)과 기능(메서드)를 정의한다.예를 들어, 학생이라는 클래스는 속성으로 name, age, grade를 가진다.클래스는 카멜표기법 사용ex) Student 클래스public class Student { String name; int age; int grade;} * 멤버변수(Member Variable) : 특정 클레스에 속한 변수* 필드(Field) : 데이터 항목을 가리키는 전통적인 용어 public class ClassStart3 { public static void main(String[] args) { Student student1; student1 = .. 2024. 11. 11.
StringBuilder StringBulider란?StringBuilder는 Java에서 문자열을 조작할 때 성능을 향상시키기 위해 사용되는 클래스입니다. String 클래스는 불변(immutable)이라서 문자열을 변경하면 새로운 문자열 객체를 생성하는 반면, StringBuilder는 가변(mutable)이라서 동일 객체 내에서 문자열을 수정할 수 있습니다. 이러한 특성 덕분에 문자열을 반복적으로 연결하거나 변경할 때 StringBuilder가 더 효율적입니다. StringBuilder 클래스의 특징가변성 (Mutability): 한 번 생성된 객체 내에서 문자열을 수정할 수 있어 String과 달리 새로운 객체를 생성하지 않음.동기화되지 않음 (Non-Synchronized): StringBuffer와 달리 동기화 처리가.. 2024. 9. 12.
객체지향 프로그래밍 - 객체 지향 설계 원칙 SOLID1. 단일 책임 원칙(SRP; Single Responsibility Principle)클래스는 단 하나의 책임만을 가져야 한다. 즉 클래스는 변경의 이유가 하나뿐이어야함.예) 'User' 클래스 => 클래스는 사용자 정보를 관리하는 책임만 가져야 한다. 이메일을 보내는 기능은 'EmailService'와 같은 다른 클래스로 분리시켜야 한다.public class User { private String name; private String email; // 생성자, getter, setter 등}public class EmailService { public void sendEmail(User user, String message) { // 이메일 전송 로직 .. 2024. 5. 30.
객체지향 프로그래밍 - 객체지향 기법 캡슐화(Encapsulation) 이란?서로 연관된 데이터와 함수를 함계 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 기법결합도가 낮아지고 재사용이 용이하다.인터페이스 단순화데이터의 무결성 보호예시(캡슐화)public class Person { // private 접근 제어자로 필드 보호 private String name; private int age; // public 메서드로 필드 접근 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { .. 2024. 5. 30.