본문 바로가기

Java147

[자바의 정석_기초편] Chapter07. 객체지향(Object Oriented)_3 이 글은 남궁성의 정석코딩 [자바의정석-기초편]을 수강하며 정리한 글입니다. 🟣 기본 환경: IDE: Eclipse, Language: Java 다형성(polymorphism): 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 * 참조변수 타입(t)은 인스턴스 타입(SmartTv)과 반드시 일치해야 하는 것은 아님 Tv t = new Tv(); SmartTv s = new SmartTv(); -> Tv(조상) t = new SmartTv(자손)(); 스마트 tv 7개의 기능을 tv리모콘으로 5개만 쓸 수 있음 * 자손타입의 참조변수로 조상타입의 객체를 가리킬 수 없다. SmartTv s = new Tv(); // Error 기본형의 형변환: 값이 변환 double 3.6 → int 3 참조형의 형변환.. 2023. 5. 9.
[자바의 정석_기초편] Chapter07. 객체지향(Object Oriented)_2 이 글은 남궁성의 정석코딩 [자바의정석-기초편]을 수강하며 정리한 글입니다. 🟣 기본 환경: IDE: Eclipse, Language: Java 패키지(package): 서로 관련된 클래스의 묶음 class: 물리적 파일(.class), pkg: 물리적 디렉토리 클래스의 실제이름은 패키지를 포함(java.lang.String) 패키지 선언 패키지는 소스 파일의 첫 번째 문장으로 단 한 번만 선언 같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 됨 패키지 선언이 없으면 이름없는 패키지(default)에 속하게 됨 class와의 구별을 위해 첫글자는 소문자로 작성 cmd에서 java 실행 1. 해당 패키지의 주소*로 위치를 변경 cd: pkg 위치 지정 * pkg, class file 주소: 이클립스.. 2023. 5. 7.
[자바의 정석_기초편] Chapter07. 객체지향(Object Oriented)_1 이 글은 남궁성의 정석코딩 [자바의정석-기초편]을 수강하며 정리한 글입니다. 🟣 기본 환경: IDE: Eclipse, Language: Java 객체 생성과 배열 상속(Inheritance) : 단일 상속만 허용*하며 Object class는 자동 상속 됨 : 자손 class는 조상 class의 모든 member를 상속받으나 생성자와 초기화 블럭은 상속되지 않음 * 단일 상속만 허용하므로 이 외의 상속을 받고싶은 class는 포함(composite)관계를 이용 -> 하나의 거대한 class를 작성하는 것보다는 단위별, 부분별로 여러 클래스를 작성하여 포함관계를 통해 재사용하는 것이 좋음 ** 상속: 오토바이'는' '차'이다 / 포함: 차'는' 엔진을 '갖고 있다' (해석을 통해 사용방법 파악) Overr.. 2023. 4. 10.
[해결 방법] nested exception is java.lang.NullPointerException 🌿 기본 환경: IDE: STS, Language: Java 발생 Error Spring에서 다음 Source Code를 실행할 경우, ⭐ 하기 Error 발생 Failed to instantiate [user.service.UserUpdateService]: Constructor threw exception; nested exception is java.lang.NullPointerException 발생 원인 userDAO가 null로 선언된 상태에서 getUserList()를 실행하고자 할 때, NullPointerException 발생 해결 방법 List 선언부를 UserSelectService의 객체가 생성될 때 같이 실행되도록 하지 않고 execute() 실행될 때 생성되도록 변경하여 userD.. 2023. 4. 9.
[해결 방법] java.lang.Error ☕ 기본 환경: IDE: Eclipse, Language: Java 발생 Exception Java에서 다음 Source Code를 실행할 경우, ⭐ Unresolved compilation problem: The method calc(int, double) is ambiguous for the type Test2 java.lang.Error: Unresolved compilation problem 발생 Error 원인 Test2 클래스에서 calc()가 매개변수 타입만 다르게 overloading되어있음 2개의 매개변수에 각각 10을 대입할 경우, 어떤 calc를 실행하고자하는지 알 수 없어 발생 해결 방법 calc() 사용 시, 어떤 메서드를 사용하는지 인자를 정확히 기재 (calc()에 각각 10,.. 2023. 4. 9.
[자바의 정석_기초편] Chapter06. 객체지향 언어(Object Oriented Language)_3 이 글은 남궁성의 정석코딩 [자바의정석-기초편]을 수강하며 정리한 글입니다. 🟣 기본 환경: IDE: Eclipse, Language: Java Class: 유사한 특징을 가진 객체들의 속성을 묶어놓은 집합 Class 구성: Class Header(Class Name), Member field(속성: 변수, 상수), Member Method(동작: 메서드) 1. Class Header : Class 선언([접근 제한자*] [클래스 종류*] [class] [ClassName*]{}) *접근 제한자: public > protected > default(생략 시, default 취급) > private public: 모든 접근 허용 protected: 동일 패키지(폴더) 내 또는 상속관계의 객체 접근 허용 d.. 2023. 4. 9.