OOP

Goal enum 대해 알아본다 enum 메모리 저장방식 enum 내부 동작원리 enum 객체의 메소드 enum 필드 enum 이란 ? enum은 서로 관련있는 상수들을 하나의 그룹으로 묶어서 사용하는 자료형이다. 예로, 계절에 대한 데이터는 봄, 여름, 가을, 겨울이라는 네 개의 값만을 가진다. 이와 같이 한정된 값만을 갖는 데이터 타입이 열거타입이다. public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } enum을 사용하는 이유 enum을 사용하면 상수들을 의미 있는 이름으로 사용할 수 있고, 의도하지 않은 값의 입력을 방지할 수 있다. 또한, 코드의 가독성을 높일 수 있다. 열거 타입과 열거 상수 pub..
Goal 자바의 자료형에 대해 알아본다 기본 자료형에 대해 알아본다 참조 자료형에 대해 알아본다 String 클래스에 대해 알아본다 자바의 자료형 타입(Data type)이란 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것이다. 자바에서 타입은 크게 기본형 타입과 참조형 타입이 있다. 기본 자료형이란? 기본 자료형은 8개로 우리가 추가로 만들 수 없다 정수형, 소수형, 논리 타입이 존재한다 반드시 기본값을 지정해야 한다 지역변수는 꼭 지정해야하며, 인스턴스, 클래스, 매개 변수는 지정하지 않아도 컴파일 되지 않지만 권장 x null이 허용 x 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. 각종 연산자들은 대부분 기본 자료형을 위하..
Goal 다형성에 대해 알아본다 오버라이딩에 대해 알아본다 오버로딩에 대해 알아본다 오버라이딩과 오버로딩이 동시에 발생한 경우는? 오버라이딩과 오버로딩을 사용한 코드 예시를 살펴본다. 객체지향의 특성 참고 [객체지향의 원리와 이해 3] 자바와 객체 지향 객체지향의 4대 특성 - 캡!상추다 캡슐화 (Encapsultation): 정보 은닉(information hiding) 상속 (Inheriance) 재사용 추상화 (Abstaction) : 모델링 다형성 (Polymorphism) : 사용 편의 클래스 vs. 객체 = 붕어빵틀 vs.붕 dev-rosiepoise.tistory.com 다형성(Polymorphism)이란? 객체지향의 4대 특성중 하나로 사용편의성을 의미하며, 하나의 객체가 여러가지 타입을 ..
abstract 키워드 - 추상 메서드와 추상 클래스 추상 메서드란 선언부는 있지만 구현부가 없는 메서드를 말한다. 추상 메서드를 하나라도 갖고 있는 클래스는 반드시 추상 클래스여야 한다. public class Driver2 { public static void main(String[] args){ Animal[] animals = new Animal[5]; animals[0] = new Dog(); animals[1] = new Cat(); animals[2] = new Cow(); animals[3] = new Bird(); animals[4] = new Dolphin(); for(int i=0; i new 사용 불가 추상 클래스는 하위 클래스에게 메서드의 구현을 강제한다. 오버라이딩 강제 추상 메..
자바 프로그램의 개발과 구동 현실 세계 가상 세계(자바 월드) 소프트웨어 개발 도구 JDK - 자바 개발 도구 JVM용 소프르웨어 개발 도구 운영체제 JRE - 자바 실행 환경 JVM용 OS 하드웨어 - 물리적 컴퓨터 JVM - 자바 가상 기계 가상의 컴퓨터 JDK < JRE < JVM Write Once Run Everywhere JVM이 중재자로서 각 플랫폼(윈도우, 유닉스, 리눅스 등)에서 프로그램을 구동하게끔 해줌 기계어를 포함한 모든 프로그래밍 언어의 메모리 사용 방식 코드 실행 영역 데이터 저장 영역 객체지향 프로그래밍 언어의 메모리 사용 방식 코드 실행 영역 스태틱 (static) 영역 스택 (stack) 영역 힙(Heap) 영역 자바에 존재하는 절차적 / 구조적 프로그래밍의 유산 함수 -..
Goal : 상속이 무엇인지 알아보고, 코드에서는 어떻게 구현되는지 알아본다. 상속이란? 객체 지향 프로그래밍(OOP)에서, 상속(inheritance)은 객체들 간의 관계를 구축하는 방법이다. 클래스로 객체가 정의되는 고전 상속에서, 클래스는 기반 클래스, 수퍼클래스, 또는 부모 클래스 등의 기존의 클래스로부터 속성과 동작을 상속받을 수 있다. 그 결과로 생기는 클래스를 파생 클래스, 서브클래스, 또는 자식 클래스라고 한다. 상속을 통한 클래스들의 관계는 계층을 형성한다. 프로토타입 기반 프로그래밍에서는, 객체가 클래스를 따로 정의할 필요 없이 다른 객체로부터 직접 정의될 수 있다. 이러한 특징을 차등 상속이라고 부른다. 백문이 불여일타. 코드로 개념을 이해해보자! 예제 1. 필수 값이 없는 부모 클래..
Goal : 생성자는 무엇인지 알아보고 메서드와 차이를 알아본다. Constructor 생성자란 ? 생성자(영어: constructor, 혹은 약자로 ctor)는 객체 지향 프로그래밍에서 객체의 초기화를 담당하는 서브루틴을 가리킨다. 생성자는 객체가 처음 생성될 때 호출되어 멤버 변수를 초기화하고, 필요에 따라 자원을 할당하기도 한다. 객체의 생성 시에 호출되기 때문에 생성자라는 이름이 붙었다. 생성자는 대체로 멤버 함수와 같은 모양을 하고 있지만, 값을 반환하지 않는다는 점에서 엄밀한 의미의 함수는 아니다. A constructor is a member function of a class that is called for initializing objects when we create an object..
Goal : 캡슐화의 의도 & 목적을 이해하고 코드에서는 어떻게 구현되는지 알아본다 Encapsulation 캡슐화란 ? 객체 지향 프로그래밍 (OOP)에서 캡슐화는 데이터를 해당 데이터에 대해 작동하는 메서드와 번들로 묶거나 일부 개체 구성 요소에 대한 직접 액세스를 제한하는 것을 말합니다. 캡슐화는 클래스 내부의 구조화된 데이터 개체의 값이나 상태를 숨기는 데 사용되며 숨겨진 구현 세부 정보를 노출하거나 메서드에서 유지 관리하는 상태 불변성을 위반할 수 있는 방식으로 클라이언트가 직접 액세스하는 것을 방지합니다. public class MotorBike { //state int speed; //behaviour void start(){ System.out.println("MotorBike.start"..
dev_rosieposie
'OOP' 태그의 글 목록