끄적끄적 코딩
[Java] Singleton 디자인 패턴
Java 2023. 1. 31. 00:42

객체의 생성 제어와 싱글톤(Singleton) 디자인 패턴 객체의 생성을 제한해야 한다면? - 여러 개의 객체가 필요 없는 경우 - 객체를 구별할 필요가 없는 경우 = 수정 가능한 멤버 변수가 없고 기능만 있는 경우 - 이런 객체를 stateless한 객체라고 함 - 객체를 계속 생성/삭제 하는데 많은 비용이 들어서 재사용이 유리한 경우 Singleton 디자인 패턴 생성자가 여러번 호출되도, 실제로 생성되는 객체는 하나이며 최초로 생성된 이후에 호출된 생성자는 이미 생성한 객체를 반환시키도록 만드는 것 (java에서는 생성자를 private으로 선언해 다른 곳에서 생성하지 못하도록 만들고, getInstance() 메소드를 통해 받아서 사용하도록 구현한다) - 외부에서 생성자에 접근 금지 -> 생성자의..

[Java] 상속, 메서드 재정의, package, 제한자
Java 2023. 1. 31. 00:42

객체지향 언어의 특징 추상화(Abstraction) 현실의 객체를 추상화 해서 클래스를 구성 다형성(Polymorphism) 하나의 객체를 여러 가지 타입(형)으로 참조할 수 있음 상속(Inheritance) 부모 클래스의 자산을 물려받아 자식을 정의함으로 코드의 재사용이 가능 데이터 은닉과 보호(Encapsulation) 데이터를 외부에 직접 노출시키지 않고 메서드를 이용해서 보호할 수 있음 상속 기존 클래스의 자산 멤버을 자식 클래스에서 재사용하기 위한 것 - 부모의 생성자와 초기화 블록은 상속하지 않음 기존 클래스의 멤버를 물려 받기 때문에 코드의 절감 - 부모의 코드를 변경하면 모든 자식들에게도 적용 -> 유지 보수성 향상 상속의 적용 - extend 키워드 사용 Object 클래스 모든 클래스의..

[Java] 객체지향 프로그래밍, 변수, 메서드, 생성자
Java 2023. 1. 30. 23:46

객체 지향 프로그래밍이란? (Object Oriented Programming) 객체란? 주체가 아닌 것, 주체가 활용하는 것 객체지향 프로그래밍 주변의 많은 것들을 객체화 해서 프로그래밍 하는 것 장점 블록 형태의 모듈화된 프로그래밍 신뢰성 높은 프로그래밍이 가능 추가/수정/삭제가 용이 재사용성이 높다 현실의 객체가 갖는 속성과 기능은 추상화 되어 클래스에 정의된다. 클래스는 구체화 되어 프로그램의 객체가 된다. 프로그래밍을 통해서 추상화를 함 => 클래스를 작성함 (클래스는 멤버변수와 멤버메서드로 이루어짐) => 클래스를 찍어내는 과정을 객체화 => 찍어낸 객체에 값을 넣어주는 과정을 구체화 클래스 객체를 정의해 놓은 것 즉 객체의 설계도, 틀 클래스는 직접 사용할 수 없고, 직접 사용되는 객체를 만..

article thumbnail
[Java] Java 기본
Java 2023. 1. 16. 01:16

Java란 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어 Java의 특징 운영체제에 독립적으로 동작 객체 지향 언어 (캡슐화, 상속성, 다형성) 가비지 컬렉터를 통한 자동 메모리 관리 네트워크, 분산처리의 지원 멀티쓰레드 지원 동적 로딩의 지원 변수(Variable) 이란? 자료를 저장하기 위한 메모리 공간으로 타입에 따라 크기가 달라짐 메모리 공간에 값을 할당 후 사용 기본형 (primitive type) 미리 정해진 크기의 Memory Sisze로 표현 변수 자체에 값 저장 참조형 (reference type) 크기가 미리 정해질 수 없는 데이터의 표현 변수에는 실제 값을 참조할 수 잇는 주소만 저장 기본형의 크기 * Java는 semi boolean을 처리..

검색 태그