목록✅🌲강의 복습 노트 (59)
컴퓨터공학 💻 도서관📚
객체 지향 프로그램에서 객체 간에는 협력이 이루어진다협력을 위해서는 객체들끼리 매개변수를 통해서 필요한 정보를 주고 받는다매개변수로 객체를 전달하는 경우가 발생한다* 객체 협력의 예
this가 하는 일1. 인스턴스 자기 자신의 메모리를 가리킴 ( ex. this.name = name; )2. 생성자에서 또 다른 생성자를 호출 할때 사용 (super 도 동일함) ( ex. this("이름없음", 1); )3. 자신의 주소(참조값) 자체를 반환할 때도 사용함 ( ex. return this; ) 함수나 메서드가 호출이 되면 그 함수와 메서드의 지역변수는 stack 메모리에 할당된다 객체를 new 키워드로 생성해서 생성된 인스턴스는 heap 메모리, 동적 메모리에 할당된다 2. 클래스에 생성자가 여러 개인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this..
캡슐화 : 캡슐화는 (1) 데이터(멤버변수)와 알고리즘(메서드)을 하나로 묶는 것이다 (1) 객체의 속성(data, fields)과 행위(메서드) 를 하나로 묶고, (2) 실제 구현 내용 일부를 내부에 감추어 은닉한다 캡슐화는 정보를 감싸서 외부에 꼭 필요한 정보만 오픈한다라는 개념이다 캡슐화는 여러가지 메서드 중 외부에서 사용할 꼭 필요한 메서드 한두 개만 오픈하고, 나머지는 자동으로 모든 것이 생산될 수 있도록 하는 용도로 사용할 수 있다 여러개의 메서드에 순서대로 지켜져야 되는 순서가 있고, 세세한 걸 클라이언트 코드 쪽에서 알 필요가 없다 대부분의 멤버 변수와 메서드는 감추고 외부에 통합된 인터페이스를 제공해서 클라이언트가 사용하기 쉽게 제공된 것만 사용하면 자동으로 다..
접근 제어 지시자 (accesss modifier) : 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 private : 같은 클래스 내부에서만 접근 가능 (외부 클래스, 상속 관계의 클래스에서도 접근 불가) 아무것도 없음 (default) : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없음 public : 클래스의 외부 어디서나 접근 할 수 있음 논리적으로 패키지의 역할은 소소의 묶음이다 사용하려는 객체가 다른 패키지에 속해 있는 경우는 import 키워드를 사용한다 get() / set() 메서드 : private ..
참조 자료형은 객체 타입의 자료형이다. 그래서 클래스형으로 변수를 선언한다 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다르다 참조 자료형을 사용할 때는 new키워드를 사용해 해당 변수에 대해 생성하여야 함 (String 클래스는 예외적으로 생성하지 않고 사용할 수 있음)객체를 new 키워드로 생성을 했을 때(인스턴스 상태일 때) 그 객체의 주소값을 갖는 변수가 참조 변수이다 더 효율적인 OOP(객체지향 프로그래밍)를 위해서는 학생, 과목 클래스를 따로 선언하는게 좋다 학생에 따라 듣는 과목의 개수와 종류가 다를 수 있기 때문이다 (ex. 대학생) package ch09;public class Student { int studentId; // i..
// Order 클래스package ch08;public class Order { // 클래스 이름은 대문자로 시작 public String orderNumber; // 객체의 특성인 멤버변수 선언 public String customerPhone; // 출력을 편하게 하기 위해 String 으로 입력받기 public String customerAddress; public String orderDate; public String orderTime; public int price; public String menuId; public void showOrderDetail() { // 메서드 선언 System.out.println("주문 접수 번호: " + orderNumber..
이 문제는 시간복잡도가 O(N x M) 이면 통과되는 시간 제한이 있다 가장 가까운 조상은 공통된 조상 중에서 가장 낮은 조상이라고도 할 수 있다 그렇기에 영어권에서는 (Lowest : 가장 낮은) 라는 단어를 사용한다 N과 M의 범위가 최대 10만개라고 하면 시간 초과 판정을 받는다 이때는 어떻게 해결하는가? 거슬러 올라갈 때는 가능하면 빠르게 2의 제곱꼴로 올라가게 한다 예시로 거리가 3이면 1번째에 2칸 올라가고 2번째에 1칸 올라간다 lca 함수에서 먼저, 항상 b가 더 깊도록 swap을 진행한다 (1