분류 전체보기
-
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 다른 클래스 안에 선언되는 클래스 크게 4 종류가 있음 멤버 인스턴스 정적 내부 클래스 메소드 안에 정의된 클래스 익명 클래스 ( 다음 강 주제 ) 보다 강력한 캡슐화 외부/내부 클래스간의 관계가 긴밀할 때 사용 적절히 사용시 유지보수가 용이하고 가독성을 높여줌 과하게 사용되면 클래스 비대화 멤버 인스턴스 클래스 외부 클래스의 필드와 클래스 접근 가능 다른 정적 내부 클래스 접근 가능 정적 내부 클래스 외부 클래스의 '정적'필드만 접근 가능 static이 아닌 멤버 인스턴스 클래스에도 접근 불가 메소드 안에 정의된 클래스 메소드 내에서만 사용가능한 클래스 Main ▼ 또 다른 예제 정적 내부 클래스 멤..
[제대로 파는 자바 (Java)-by 얄코] 내부 클래스해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 다른 클래스 안에 선언되는 클래스 크게 4 종류가 있음 멤버 인스턴스 정적 내부 클래스 메소드 안에 정의된 클래스 익명 클래스 ( 다음 강 주제 ) 보다 강력한 캡슐화 외부/내부 클래스간의 관계가 긴밀할 때 사용 적절히 사용시 유지보수가 용이하고 가독성을 높여줌 과하게 사용되면 클래스 비대화 멤버 인스턴스 클래스 외부 클래스의 필드와 클래스 접근 가능 다른 정적 내부 클래스 접근 가능 정적 내부 클래스 외부 클래스의 '정적'필드만 접근 가능 static이 아닌 멤버 인스턴스 클래스에도 접근 불가 메소드 안에 정의된 클래스 메소드 내에서만 사용가능한 클래스 Main ▼ 또 다른 예제 정적 내부 클래스 멤..
2024.03.04 -
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 자바 프로젝트의 디렉토리(폴더) - 패키지로 불리게 됨 일정 규모 이상의 프로그램을 적절히 모듈화 패키지 정보: 클래스의 구성요소 중 하나 클래스명의 중복을 피하기 위해 사용 예: Button 클래스 - JRE의 동명 클래스 등 확인 빌드의 결과도 패키지의 구조를 따름 이전 예제들의 out 폴더 확인할 것 ▼Parent와 같은 패키지에 있는 Child(자식클래스)와 Friend ▼Parent와 다른 패키지에 있는 Child(자식클래스) - 상단에 import 필요 ▼ 다른 패키지 내의 모든 클래스를 가져올 때 (*) / 여러 다른 패키지에서 클래스를 가져오는 경우 ※ 위의 파일을 컴파일 시 src 폴더..
[제대로 파는 자바 (Java)-by 얄코] 패키지해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다. 자바 프로젝트의 디렉토리(폴더) - 패키지로 불리게 됨 일정 규모 이상의 프로그램을 적절히 모듈화 패키지 정보: 클래스의 구성요소 중 하나 클래스명의 중복을 피하기 위해 사용 예: Button 클래스 - JRE의 동명 클래스 등 확인 빌드의 결과도 패키지의 구조를 따름 이전 예제들의 out 폴더 확인할 것 ▼Parent와 같은 패키지에 있는 Child(자식클래스)와 Friend ▼Parent와 다른 패키지에 있는 Child(자식클래스) - 상단에 import 필요 ▼ 다른 패키지 내의 모든 클래스를 가져올 때 (*) / 여러 다른 패키지에서 클래스를 가져오는 경우 ※ 위의 파일을 컴파일 시 src 폴더..
2024.03.04 -
해당 게시물은 [제대로 파는 자바 (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