Java49 Java 중급 1 - Wrapper Class 1. 기본형의 한계객체가 아님: 기본형 데이터는 객체가 아니기 때문에, 객체 지향 프로그래밍의 장점을 살릴 수 없다. 예를 들어 객 체는 유용한 메서드를 제공할 수 있는데, 기본형은 객체가 아니므로 메서드를 제공할 수 없다. 추가로 객체 참조가 필요한 컬렉션 프레임워크를 사용할 수 없다. 그리고 제네릭도 사용할 수 없다. null 값을 가질 수 없음: 기본형 데이터 타입은 null 값을 가질 수 없다. 때로는 데이터가 없음 이라는 상태를 나 타내야 할 필요가 있는데, 기본형은 항상 값을 가지기 때문에 이런 표현을 할 수 없다. 2. 자바 래퍼 클래스byte -> Byteshort -> Shortint -> Integerlong -> Longfloat -> Floatdouble -> Doublechar -.. 2025. 2. 24. Java 중급 1 - String 1. String 클래스의 구조public final Class String { private final char[] value; private final byte[] value;}String의 실제 문자열 값은 char[]에 보관된다. String 클래스는 개발자가 직접 다루기 불편한 char[]을 내부에 감추고 String 클래스를 사용하는 개발자가 편리하게 문자열을 다룰 수 있도록 다양한 기능 제공기능(메서드)length() : 문자열의 길이를 반환한다. charAt(int index) : 특정 인덱스의 문자를 반환한다. substring(int beginIndex, int endIndex) : 문자열의 부분 문자열을 반환한다. indexOf(String str) : 특정 문자열이 시작.. 2025. 2. 14. Java 중급 1 - 불변객체 1. 기본형과 참조형의 공유기본형 : 하나의 값을 여러 변수에서 절대로 공유하지 않는다.ex) int a = 10; , int b = a 이경우 a는 복사하여 b에 대입한다.참조형 : 하나의 객체를 참조값을 통해 여러 변수에서 공유 할 수 있다. 2. 공유 참조와 사이드 이펙트사이드 이펙트(Side effect) : 프로그래밍에서 어떤 계산이 주된 작업 외에 추가적인 부수 효과를 일으키는 것을 말한다. 소스 코드 package lang.immutable.address;public class Address { private String value; public Address(String value) { this.value = value; } public String get.. 2025. 2. 14. JAVA 중급 1 - Object 클래스 1. java.lang 패키지자바가 기본으로 제공하는 라이브러리중에 가장 기본이 되는 것이 바로 java.lang패키지이다. lang은 Laguage의 줄임말.대표적 클래스Object: 모든 자바 객체의 부모 클래스String: 문자열Integer, Long, Double : 래퍼타입, 기본형 데이터 타입을 객체로 만든 것Class : 클래스 메타 정보System : 시스템과 관련된 기본 기능들을 제공 2. Object묵시적 : 개발자가 코드에 직접 기술하지 않아도 시스템 또는 컴파일러에 의해 자동으로 수행되는 것을 의미명시적 : 개발자가 코드에 직접 기술해서 작동하는 것을 의미 Object클래스가 최상위 부모 클래스인 이유공통 기능 제공Object 는 모든 객체에 필요한 공통 기능을 제공한다. Obje.. 2025. 2. 14. Java 기본 - 다형성과 설계 1. 객체 지향 프로그래밍컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메세지를 주고받고, 데이터를 처리할 수 있다.객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 이용. 2. 역할과 구현의 분리 클라이언트는 대상의 역할(인터페이스)만 알면 된다.클라이언트는 구현 대상의 내부 구조를 몰라도 된다.클라이언트는 구현 대상의 내부 구조가 변경되어도 영향 x클라이언트는 구현 대상 자체를 변경해도 영향을 받지 않는다.위 그림에서 실세계에 비유하자면 고객은 로미오(인터페이스)만 알면된다. 그 역할의 배역(구현 대상)은 변경되어도 영향을 받지 않는다.3. 다형성의.. 2025. 1. 30. Java 기본 - 다형성 1 ** 다형성(Polymorphism) : 객체지향 프로그래밍에서 하나의 객체가 여러가지 타입을 가질 수 있는 성질(다형성의 핵심은 다형적 참조와 메서드 오버라이딩이다.) 예제 코드 Animalpackage poly.ex2;public class Animal { public void sound() { System.out.println("동물 울음 소리"); }} Dogpackage poly.ex2;public class Dog extends Animal{ @Override public void sound() { System.out.println("멍멍"); }} Catpackage poly.ex2;public class Cat extends Animal{.. 2025. 1. 22. 이전 1 ··· 3 4 5 6 7 8 9 다음