OOP

    객체지향 요약1

    객체지향 요약1

    🚗클래스 정의 1. 설계도 2. 데이터 + 함수 - 변수 (하나의 데이터) --> 배열 (같은 종류의 데이터) --> 구조체 (서로 관련된 데이터) --> 클래스 (데이터+함수) -즉, 데이터(변수)와 함수(메서드)로 이루어진 '명령문 묶음' 3. 사용자 정의 타입 int hour = 12; int minute = 34; int second = 56; // 비객체지향적 class Time { int hour; int minute; int second; } Time t = new Time(); t.hour = 12; t.minute = 34; t.second = 56; // 객체지향적 🚗선언 위치에 따른 변수의 종류 1. 클래스 영역 -- iv (인스턴스변수) / cv (static+iv) 2. 메서드 영..

    [4.11] 접근제한자/어노테이션

    [4.11] 접근제한자/어노테이션

    접근제한자 (Access Modifier) 클래스 및 클래스의 구성 멤버에 대한 접근을 제한하는 역할 - 다른 패키지에서 클래스를 사용하지 못하도록 (클래스 제한) - 클래스로부터 객체를 생성하지 못하도록 (생성자 제한) - 특정 필드와 메소드를 숨김 처리 (필드와 메소드 제한) *클래스의 접근 제한 1. default - 클래스 선언할 때 public 생략한 경우 - 다른 패키지에서는 사용 불가 2. public - 다른 개발자가 사용할 수 있도록 라이브러리 클래스로 만들 때 유용 Getter & Setter * 클래스 선언할 때 필드는 일반적으로 private 접근 제한 - 읽기 전용 필드가 있을 수 있음 -> Getter의 필요성 - 외부에서 엉뚱한 값으로 변경할 수 없도록 -> Setter의 필요..

    4.8 OOP - 싱글톤 / final / 패키지

    4.8 OOP - 싱글톤 / final / 패키지

    싱글톤(Singleton) 하나의 애플리케이션 내에서 단 하나만 생성되는 객체 * 외부에서 new 연산자로 생성자를 호출할 수 없도록 막기 - private 접근 제한자를 생성자 앞에 붙임 * 클래스 자신의 타입으로 정적 필드 선언 - 자신의 객체를 생성해 초기화 - private 접근 제한자 붙여 외부에서 필드 값 변경 불가하도록 * 외부에서 호출할 수 있는 정적 메소드인 getInstance() 선언 - 정적 필드에서 참조하고 있는 자신의 객체 리턴 final 필드 최종적인 값을 갖고 있는 필드 = 값을 변경할 수 없는 필드 * final이 값을 변경할 수 없다는 것은 동일하다. 그럼 언제, 왜 사용? 1. 필드 - 객체가 사라질 때까지 필드값이 바뀌면 안될 때 2. 매개변수 -..

    4.4 객체지향프로그래밍(OOP)

    4.4 객체지향프로그래밍(OOP)

    객체 지향 프로그래밍 (OOP) Object Oriented Programming 부품 객체를 먼저 만들고 이것들을 하나씩 조립해 완성된 프로그램을 만드는 기법 *객체간의 관계 - 객체 지향 프로그램에서, 객체는 다른 객체와 관계를 맺음 - 관계의 종류 --> 집합 관계 / 사용 관계 / 상속 관계 *객체 지향 프로그래밍의 특징 1. 캡슐화 - 정보은닉과 관련 2. 상속 - 상위 객체의 '필드와 메소드'를 하위 객체에게 물려주는 행위 --> 재사용으로 개발 속도 ↑ / 중복 ↓ / 유지 보수 편리 / 객체의 다형성 구현 3. 다형성 - 같은 타입이지만 실행 결과가 다양한 객체를 대입할 수 있는 성질 --> 객체를 부품화시키는 것 가능 / 유지보수 용이 (1) 붕어빵 틀(클래스) --> 붕어빵(인스턴스 =..