본문 바로가기

TIL71

2024.04.18 41일차 JAVA 상속2, static, final, 열거형 상속 - Child 필드에 a, b 없는데도 childMethod에서 this.a 사용할 때 에러 발생하지 않음 - Child에서 this.a, this.b가 없네? → 자동으로 super 링크로 부모에게 접근한 뒤 부모의 a, b를 가져옴 ( this.a == super.a ) public class Child extends Parent { // int a; // double b; boolean c; Child() { // super(); // 쓰지 않아도 자동으로 적용됨 // 부모클래스의 기본생성자를 호출 this(100); System.out.println("Child 클래스의 생성자 호출!"); this.c = true; } Child(int x) { System.out.println("Child.. 2024. 4. 18.
2024.04.17 40일차 JAVA 접근제한자, 정보은닉, 캡슐화, 상속 접근 제한자 Access Modifier 클래스, 필드, 메서드, 생성자에 대한 접근 권한을 제한하는 키워드 멤버에 대한 접근 범위를 제한함으로써 코드의 안정성을 높일 수 있음 사용자가 알 필요 없는, 또는 알아서는 안되는 정보들은 숨겨 줄 수 있음 접근 제어자 같은 클래스의 멤버 같은 패키지의 멤버 자식클래스의 멤버 그 외의 영역 public ○ ○ ○ ○ protected ○ ○ ○ X default ○ ○ X X private ○ X X X ** 클래스에는 public과 default 제한자만 사용 가능 정보 은닉 Information hiding 객체의 상태를 숨기고 외부에서 접근할 수 없도록 보호 객체의 필드에 불필요한 값이나 문제가 발생할 수 있는 값들이 직접 들어오는 것을 막기 위해 사용 접.. 2024. 4. 17.
2024.04.16 39일차 JAVA 객체지향 프로그래밍 객체지향 프로그래밍 패키지에서 클래스 별로 역할과 책임을 부여하고 그에 맞게 프로그래밍하는 방법 * MVC 패턴 - 모델 : 데이터 정의, 저장 및 관리 - 뷰 : 앱의 데이터를 보여주는 방식을 정의 - 컨트롤러 : 앱의 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함 toString() 객체를 print하면 해시값이 나오는 이유? 컴파일러가 객체 출력 시 toString() 메서드를 기본으로 사용하기 때문 Object.js에서 toString() 메서드가 어떻게 구성되어 있는지 보면 해시값을 반환하는 것을 알 수 있음 Member.js에서 toString() 오버라이딩 하여 객체 내부의 정보를 출력할 수 있음 (접근제어자 주의) // Objec.js public Stri.. 2024. 4. 16.
2024.04.12 37일차 JAVA package, this ** 문자열 비교 '==' 비교연산자로 비교하면 문자열이 저장된 주소값을 비교하며 s1은 상수 pool에 존재하는 문자열을 재사용 new String 으로 생성한 s2는 새로운 문자열 객체를 생성하여 다른 주소값을 갖기 때문에 false 따라서 문자열의 내용을 비교할 때는 equals() 사용 String s1 = "hello"; String s2 = new String("hello"); System.out.println(s1 == s2); // false 패키지 비슷한 성격을 가진 자바 클래스나 인터페이스들을 모아 놓은 자바의 디렉토리 패키지를 만들어서 클래스를 배치하면, 클래스 최 상단에 패키지 구문이 포함되게 된다. 패키지 이름은 소문자로 지어주는 것이 관례이다. 상위 패키지와 하위 패키지를 구분할.. 2024. 4. 12.