본문 바로가기

전체 글474

접근 제어 지시자, get() / set() 메서드, 정보은닉 접근 제어 지시자 클래스 외부에서 클래스의 멤버 변수, 메서드 생성자를 사용할 수 있는지 여부를 지정하는 키워드 private: 같은 클래스 내부에서만 접근 가능 (외부 클래스, 상속 관계의 클래스에서도 접근 불가) 아무것도 없음 : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가) protected: 같은 패키지나 상속 관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없음 public: 클래스의 외부 어디서나 접근 할 수 있음 get() / set() 메서드 private 으로 선언된 멤버 변수(필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공 get() 메서드만 제공 되는 경우 read-only 필드 이클립스에서 자동으로 생성됨 정보 은닉 .. 2021. 4. 13.
생성자 오버로딩 생성자를 구현해서 사용할 수 있음 클래스에 생성자를 따로 구현하면 기본 생성자는 제공되지 않음 생성자를 호출하는 코드에서 여러 생성자 중 필요에 따라 호출해서 사용할 수 있음 예제 Student.java package ch09; public class Student { int studentId; String studentName; Subject korea; Subject math; Student(int studentId, String studentName){ this.studentId = studentId; this.studentName = studentName; korea = new Subject(); math = new Subject(); } public void setKoreaSubject(Stri.. 2021. 4. 13.
복합 선택자 ABCXYZ : 일치 선택자 선택자 ABC와 XYZ를 동시에 만족하는 요소 선택 span.orange{ color: red; } span태그에 class가 orange인 요소를 선택 ABC > XYZ : 자식 선택자 선택자 ABC의 자식 요소 XYZ선택 ul > .orange{ color: red; } ul태그의 자식 요소 class이름이 orange인 요소를 선택 ABC XYZ : 하위(후손) 선택자 선택자 ABC의 하위 요소 XYZ 선택 '띄어쓰기'가 선택자의 기호! div .orange{ color: red; } div 아래의 class이름이 orange인 모든 요소를 선택 ABC + XYZ : 인접 형제 선택자 선택자 ABC의 다음 형제 요소 XYZ 하나를 선택 .orange + li{ color.. 2021. 4. 13.
기본 선택자 * : 전체 선택자 모든 요소를 선택 * { color: red; } ABC : 태그 선택자 태그 이름이 ABC인 요소 선택 li { color: red; } .ABC : 클래스 선택자 HTML class 속성의 값이 ABC인 요소 선택 .ABC { color: red; } #ABC : 아이디 선택자 HTML id 속성의 값이 ABC인 요소 선택 #ABC { color: red; } 2021. 4. 12.
생성자 생성자 객체를 생성할 때 new 키워드와 함께 사용 - new Student(); 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new 와 함께 호출 됨 객체가 생성될 때 변수나 상수를 초기화 하거나 다른 초기화 기능을 수행하는 메서드를 호출 함 생성자는 반환 값이 없고, 클래스의 이름과 동일 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우도 있음 기본 생성자 클래스에는 반드시 적어도 하나 이상의 생성자가 존재 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있음 클래스에 생성자가 하나도 없는 경우 컴파일러가 생성자 코드를 넣어 줌 public Student(){} 매개 변수가 없음, 구현부가 없음 생성자를 지.. 2021. 4. 12.
인스턴스, 힙 메모리, 용어 정리 인스턴스 클래스는 객체의 속성을 정의하고, 기능을 구현하여 만들어 놓은 코드 상태 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됨 new 키워드를 사용하여 인스턴스 생성 힙 메모리 생성된 인스턴스는 동적 메모리에 할당됨 C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제 시켜야 함 (free()나 delete 이용) 자바에서 Gabage Collector가 주기 적으로 사용하지 않는 메모리를 수거 하나의 클래스로부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 됨 용어 정리 객체: 객체 지향 프로그램의 대상, 생성된 인스턴스 클래스: 객체를 프로그램 하기위해 코드로 정의해 놓은 상태 인스턴스: new 키워드를 사용하여 클래스를 메모리에 생성한.. 2021. 4. 12.