Java
-
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 블록 block 0개 이상의 문 statement 들을 묶은 단위 제어문, 함수, 클래스 등에 사용 새로운 스코프 생성 public class Ex01 { public static void main(String[] args) { // 💡 { } 로 블록 생성 { int x = 1; System.out.println(x); } { int intNum = 123; String str = "블록 밖은 위험해"; } // 💡 블록 안에서 선언된 것은 밖에서 사용 불가 intNum = 234; System.out.println(str); String x = "전국구 보스"; { String y = "동네 양아치..
[제대로 파는 자바 (Java) - by 얄코] 블록과 스코프해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 블록 block 0개 이상의 문 statement 들을 묶은 단위 제어문, 함수, 클래스 등에 사용 새로운 스코프 생성 public class Ex01 { public static void main(String[] args) { // 💡 { } 로 블록 생성 { int x = 1; System.out.println(x); } { int intNum = 123; String str = "블록 밖은 위험해"; } // 💡 블록 안에서 선언된 것은 밖에서 사용 불가 intNum = 234; System.out.println(str); String x = "전국구 보스"; { String y = "동네 양아치..
2024.03.04 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 프로그램 상에서 특정 인스턴스가 딱 하나만 있어야 할 때 🏪 본사직영매장 하나만 운영하는 회사 프로그램상 여러 곳에서 공유되는 설정 멀티쓰레딩 환경에서 공유되는 리소스 기타 전역으로 공유되는 인스턴스가 필요한 경우 ▼ 각 인스턴스는 서로 다른 Setting 인스턴스를 가짐 (설정값이 공유되지 않음) ▼ setting 인스턴스에 대한 동일한 주소값을 가지게 되었으므로 setting 인스턴스를 공유할 수 있게 되었지만 해당 인스턴스를 외부에서 주입해주어야 함 (안전하지 않음) ⭐ ▼ 싱글턴 만들어 쓰기
[제대로 파는 자바 (Java)-by 얄코] 싱글턴해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 프로그램 상에서 특정 인스턴스가 딱 하나만 있어야 할 때 🏪 본사직영매장 하나만 운영하는 회사 프로그램상 여러 곳에서 공유되는 설정 멀티쓰레딩 환경에서 공유되는 리소스 기타 전역으로 공유되는 인스턴스가 필요한 경우 ▼ 각 인스턴스는 서로 다른 Setting 인스턴스를 가짐 (설정값이 공유되지 않음) ▼ setting 인스턴스에 대한 동일한 주소값을 가지게 되었으므로 setting 인스턴스를 공유할 수 있게 되었지만 해당 인스턴스를 외부에서 주입해주어야 함 (안전하지 않음) ⭐ ▼ 싱글턴 만들어 쓰기
2024.02.29 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 추상 클래스와의 차이 🔴 : 추상 클래스 / 🔷 : 인터페이스 🔴 포유류 북극곰 - 🔷 사냥, 🔷 수영 날다람쥐 - 🔷 비행 🔴 파충류 거북 - 🔷 수영 날도마뱀 - 🔷 사냥, 🔷 수영, 🔷 비행 🔴 조류 독수리 - 🔷 사냥, 🔷 비행 펭귄 - 🔷 사냥, 🔷 수영 추상 클래스 인터페이스 기본 개념 물려 받는 것 (혈통/가문/계열) 장착하는 것 (학위/자격증) 다중 적용 불가 (모회사는 하나 뿐) 가능 (학위는 여럿 딸 수 있음) 상속관계에 의한 제한 있음 없음 생성자 가짐 가지지 않음 메소드 구상, 추상 모두 가능 추상 메소드 (abstract 안 붙여도 됨), default 구상 메소드, 클래스 메소..
[제대로 파는 자바 (Java)-by 얄코] 인터페이스해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 추상 클래스와의 차이 🔴 : 추상 클래스 / 🔷 : 인터페이스 🔴 포유류 북극곰 - 🔷 사냥, 🔷 수영 날다람쥐 - 🔷 비행 🔴 파충류 거북 - 🔷 수영 날도마뱀 - 🔷 사냥, 🔷 수영, 🔷 비행 🔴 조류 독수리 - 🔷 사냥, 🔷 비행 펭귄 - 🔷 사냥, 🔷 수영 추상 클래스 인터페이스 기본 개념 물려 받는 것 (혈통/가문/계열) 장착하는 것 (학위/자격증) 다중 적용 불가 (모회사는 하나 뿐) 가능 (학위는 여럿 딸 수 있음) 상속관계에 의한 제한 있음 없음 생성자 가짐 가지지 않음 메소드 구상, 추상 모두 가능 추상 메소드 (abstract 안 붙여도 됨), default 구상 메소드, 클래스 메소..
2024.02.29 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 스스로는 인스턴스를 만들 수 없음 그냥 ‘포유류’라고 불리는 동물은 없는 것처럼… 자식 클래스로 파생되기 위한 클래스 개, 고양이, 말 등의 클래스로서 인스턴스 생성 (구상 클래스) 관련된 여러 클래스들의 공통분모를 정의하기 위한 클래스 abstract 클래스 그 자체로 인스턴스 생성 불가 얄코그룹에서 매장을 내지는 않음 부모 클래스로서는 일반 클래스와 같음 다형성 역시 구현됨 얄코치킨과 얄코카페의 매장은 얄코그룹 소속 YalcoChicken ychStore1 = new YalcoChicken("판교"); YalcoChicken ychStore2 = new YalcoChicken("강남"); Yalco..
[제대로 파는 자바 (Java)-by 얄코] 추상 클래스해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 스스로는 인스턴스를 만들 수 없음 그냥 ‘포유류’라고 불리는 동물은 없는 것처럼… 자식 클래스로 파생되기 위한 클래스 개, 고양이, 말 등의 클래스로서 인스턴스 생성 (구상 클래스) 관련된 여러 클래스들의 공통분모를 정의하기 위한 클래스 abstract 클래스 그 자체로 인스턴스 생성 불가 얄코그룹에서 매장을 내지는 않음 부모 클래스로서는 일반 클래스와 같음 다형성 역시 구현됨 얄코치킨과 얄코카페의 매장은 얄코그룹 소속 YalcoChicken ychStore1 = new YalcoChicken("판교"); YalcoChicken ychStore2 = new YalcoChicken("강남"); Yalco..
2024.02.28 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. final 필드 값 변경 불가 필드 선언시 또는 생성자에서 초기화해야 함 수정이 불가하므로… final 메서드 자식 클래스에서 오버라이드 불가 final 인스턴스 다른 값을 넣는 것은 불가 필드는 변경 가능 주소는 바꾸지 못하지만 인테리어는 바꿀 수 있음 final 클래스 하위 확장 불가 (자식 클래스를 만들 수 없음)
[제대로 파는 자바 (Java)-by 얄코] 클래스의 final해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. final 필드 값 변경 불가 필드 선언시 또는 생성자에서 초기화해야 함 수정이 불가하므로… final 메서드 자식 클래스에서 오버라이드 불가 final 인스턴스 다른 값을 넣는 것은 불가 필드는 변경 가능 주소는 바꾸지 못하지만 인테리어는 바꿀 수 있음 final 클래스 하위 확장 불가 (자식 클래스를 만들 수 없음)
2024.02.28 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 버튼 클래스들의 상속 관계 Button ShutDownButton ToggleButton ⭐️ 부모/자식 관계는 범주의 포함 관계로 이어짐 자식 클래스의 인스턴스는 부모 클래스 자료형에 속함 모든 셧다운버튼과 토글버튼은 버튼이다. // 💡 가능 - 자식 클래스는 부모 클래스에 속함 Button button1 = new Button("Enter"); Button button2 = new ShutDownButton(); Button button3 = new ToggleButton("CapsLock", true); 다른 방향으로는 불가 모든 버튼이 셧다운 버튼이거나 토글버튼인 것은 아니다. 셧다운 버튼은 토..
[제대로 파는 자바 (Java)-by 얄코] 다형성해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 버튼 클래스들의 상속 관계 Button ShutDownButton ToggleButton ⭐️ 부모/자식 관계는 범주의 포함 관계로 이어짐 자식 클래스의 인스턴스는 부모 클래스 자료형에 속함 모든 셧다운버튼과 토글버튼은 버튼이다. // 💡 가능 - 자식 클래스는 부모 클래스에 속함 Button button1 = new Button("Enter"); Button button2 = new ShutDownButton(); Button button3 = new ToggleButton("CapsLock", true); 다른 방향으로는 불가 모든 버튼이 셧다운 버튼이거나 토글버튼인 것은 아니다. 셧다운 버튼은 토..
2024.02.28 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 드라이브스루를 갖춘 얄코치킨의 클래스를 만든다면? 기존 얄코치킨 클래스의 모든 필드와 메소드 포함 드라이브스루 관련 필드와 메소드 추가 ⭐ YalcoChicken 을 부모로 하는 자식 클래스 YalcoChickenDT 만들기 extends 연산자 사용 디버그 모드로 dtStore1 인스턴스 살펴볼 것 부모 클래스의 요소들 갖고 있음 확인 - 상속 inheritance 부모 클래스의 protected 필드들을 private 으로 바꿔 볼 것 💡 상속이 안 되는 것은 아님 - 자식클래스의 코드에서 사용하지 못할 뿐 메소드 오버라이딩 부모가 가진 같은 이름의 메소드를 자식이 다르게 정의 ‘저는 제 방식대로 ..
[제대로 파는 자바 (Java)-by 얄코] 상속해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 드라이브스루를 갖춘 얄코치킨의 클래스를 만든다면? 기존 얄코치킨 클래스의 모든 필드와 메소드 포함 드라이브스루 관련 필드와 메소드 추가 ⭐ YalcoChicken 을 부모로 하는 자식 클래스 YalcoChickenDT 만들기 extends 연산자 사용 디버그 모드로 dtStore1 인스턴스 살펴볼 것 부모 클래스의 요소들 갖고 있음 확인 - 상속 inheritance 부모 클래스의 protected 필드들을 private 으로 바꿔 볼 것 💡 상속이 안 되는 것은 아님 - 자식클래스의 코드에서 사용하지 못할 뿐 메소드 오버라이딩 부모가 가진 같은 이름의 메소드를 자식이 다르게 정의 ‘저는 제 방식대로 ..
2024.02.27 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 다른 누군가가 쓰게 할 클래스 : 구성요소 중 일부만 밖으로 공개 사용중 오용이나 혼란을 방지 ⭐ 캡슐화 encapsulation 클래스의 특정 요소를 감추는 이유 ‘감추는’ 것이 아님 - 코드로 확인 가능 라이브러리 예시 확인 폰도 부숴서 확인할 수 있듯이… 작성자의 의도대로 사용하도록 하기 위함 쓰라고 의도한 기능만 공개(IDE의 자동완성 등)하여 혼란 방지 내부적으로 수많은 필드들이 사용된다면? 제한이 오히려 편의를 제공 필드에 부적절한 값이 적용되는 등의 오용 방지 다른 클래스와 복합적으로 사용될 경우 혼선 방지 스마트폰 - PC 연결은 USB 케이블로만… 기타 다양한 이유 접근 가능 publi..
[제대로 파는 자바 (Java)-by 얄코] 접근 제어자(접근 제한자, access modifier)해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 다른 누군가가 쓰게 할 클래스 : 구성요소 중 일부만 밖으로 공개 사용중 오용이나 혼란을 방지 ⭐ 캡슐화 encapsulation 클래스의 특정 요소를 감추는 이유 ‘감추는’ 것이 아님 - 코드로 확인 가능 라이브러리 예시 확인 폰도 부숴서 확인할 수 있듯이… 작성자의 의도대로 사용하도록 하기 위함 쓰라고 의도한 기능만 공개(IDE의 자동완성 등)하여 혼란 방지 내부적으로 수많은 필드들이 사용된다면? 제한이 오히려 편의를 제공 필드에 부적절한 값이 적용되는 등의 오용 방지 다른 클래스와 복합적으로 사용될 경우 혼선 방지 스마트폰 - PC 연결은 USB 케이블로만… 기타 다양한 이유 접근 가능 publi..
2024.02.27