Java

· Java
[Java] 김영한의 실전 자바 - 중급편 섹션9 예외처리1 - 이론○ 예외 처리가 필요한 이유1 - 시작간단히 사용자입력을 외부 서버에 전송하는 프로그램을 작성해본다.public class NetworkClientV0 { private final String address; public NetworkClientV0(String address) { this.address = address; } public String connect() { //연결 성공 System.out.println(address + " 서버 연결 성공"); return "success"; } public String send(String data){ ..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션8 중첩 클래스,내부 클래스2○ 지역 클래스지역 클래스는 내부클래스의 한 종류로, 지역 변수와 같이 코드 블럭 안에서 정의된다.또한 내부,중첩 클래스들도 일반 클래스처럼 인터페이스를 구현하거나, 부모 클래스를 상속할 수 있다.class Outer { public void process() { //지역 변수 int localVar = 0; //지역 클래스 class Local {...} Local local = new Local(); }}○ 지역 클래스 - 지역 변수 캡처🟢변수 생명 주기클래스 변수: 프로그램 종료 까지, 가장 길다(메서드 영역)인스턴스 변수: 인스턴스 생존 기간(..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션5 열거형 - ENUM○ 열거형의 탄생 유래등급별로 할인을 적용해보자. 예제 단순화를 위해 회원 등급에 null 은 입력되지 않는다고 가정한다.public class DiscountService { public int discount(String grade, int price) { int discountPercent = 0; if (grade.equals("BASIC")) { discountPercent = 10; } else if (grade.equals("GOLD")) { discountPercent = 20; } else if (grade.equals("DIAMOND")) { dis..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션3,4 String ,래퍼,Class 클래스○ String 클래스🟢 String 클래스 구조public final class String { //문자열 보관 private final char[] value;// 자바 9 이전 private final byte[] value;// 자바 9 이후 //여러 메서드 public String concat(String str) {...} public int length() {...} ...자바에서 문자 하나를 표현하는 char 는 2byte 를 차지한다. 단순 영어, 숫자로만 표현된 경우 1byte 를 사용하고, 그렇지 않은 나머지의 경우 2byte 인 UTF..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션2 불변 객체○ 기본형과 참조형의 공유기본형: 하나의 값을 여러 변수에서 절대로 공유하지 않는다.참조형: 하나의 객체를 참조값을 통해 여러 변수에서 공유할 수 있다. 기본형 예제package lang.immutable.address;public class PrimitiveMain { public static void main(String[] args) { // 기본형은 절대로 같은 값을 공유하지 않는다. int a = 10; int b = a; // a -> b, 값 복사 후 대입 System.out.println("a = " + a); System.out.println("b = " + b)..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션1 Object 클래스○ java.lang 패키지 소개◼️java.lang 패키지 대표적 클래스들Object: 모든 자바 객체 부모 클래스String: 문자열Integer, Long, Double: 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것Class: 클래스 메타 정보System: 시스템과 관련된 기본 기능들을 제공java.lang 패키지는 모든 자바 애플리케이션에 자동으로 임포트(import)된다.○ Object 클래스자바에서 모든 객체의 최종 부모는 Object이다.클래스에 상속 받을 부모 클래스가 없으면 묵시적으로 Object 클래스를 상속받는다. (extends Object)묵시적(Implicit) vs 명시적(Explicit)묵시적: 개발자가..
· Java
🖤 1. java.lang패키지1.1 Object클래스equals() clone() 등 11개의 메소드를 가짐🟢 equals()두 객체의 같고 다름을 참조변수의 값으로 판단한다.class Main { public static void main (String[] args) throws java.lang.Exception { Value v1 = new Value(10); Value v2 = new Value(10); if ( v1.equals(v2) ) System.out.println("v1과 v2는 같습니다."); else System.out.println("v1과 v2는 다릅니다."); v2 = v1; if ( v1.equals(..
· Java
[Java] 김영한의 실전 자바 - 기본편 섹션9,10 상속,다형성○ 섹션 9 상속◼️상속 관계상속을 사용하려면 extends 키워드를 사용하면 된다. 그리고 extends 대상은 하나만 선택할 수 있다.부모 클래스 (슈퍼 클래스): 상속을 통해 자신의 필드와 메서드를 다른 클래스에 제공하는 클래스자식 클래스 (서브 클래스): 부모 클래스로부터 필드와 메서드를 상속받는 클래스 ◼️상속과 메모리 구조ElectricCar electricCar = new ElectricCar(); new ElectricCar() 를 호출하면 상속 관계에 있는 Car 까지 함께 포함해서 인스턴스를 생성한다. 외부에서 볼때는 하나의 인스턴스를 생성하는 것 같지만 내부에서는 부모와 자식이 모두 생성되고 공간도..
· Java
[Java] 김영한의 실전 자바 - 기본편 섹션7,8 자바 메모리 구조와 static, final ○ 섹션 7 자바 메모리 구조와 static ◼️메모리 구조 메서드 영역(Method Area): 클래스 정보 보관. 프로그램 실행 공통 데이터 관리 (static, 상수) 스택 영역(Stack Area): 메서드 실행때마다 하나의 스택 프레임이 쌓인다. (쓰레드별 실행 스택 생성) 힙 영역(Heap Area): 객체 인스턴스, 배열이 생성되는 영역. 참조X객체는 GC에 의해 제거 ◼️static static이 붙은 멤버 변수는 메서드 영역에서 관리한다. static이 붙은 멤버 변수: 클래스 변수 / 정적 변수 / static 변수, JVM 로딩 ~ 종료 생명주기를 가짐 정적 변수에 접근할 때는 클래스를 ..
· Java
🖤 1. 상속 1.1 상속의 정의와 장점 extends 키워드 사용. 생성자, 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. 1.2 클래스간의 관계 - 포함관계 포함관계 : 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것 ~은 ~이다 → 상속관계 ~은 ~을 가지고 있다 → 포함관계 ex_ 원은 점이다 X , 원은 점을 가지고있다 O class Point { int x,y; } class Circle { Point c = new Point(); int r; } 1.4 단일 상속 (single inheritance) 자바에서는 오직 단일 상속만을 허용한다. 1.5 Object클래스 - 모든 클래스 조상 ☀️Object 클래스 모든 클래스 상속계층도의 최상위에 있는 조상클래스 컴파일러가 ..
고쩡이
'Java' 카테고리의 글 목록 (4 Page)