본문 바로가기

OOP8

Java_static변수와 static메소드 (oop) static변수와 static 메소드 static은 고정된 것이란 의미를 가지고 있다 static 키워드를 이용해서 static 변수와 static메소드를 만들 수 있다 static변수와 static메소드는 클래스변수와 클래스메소드라고 부른다 클래스변수와 클래스메소드는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 고정된 멤버다. 클래스 로더가 클래스를 로딩해서 메모리 영역에 적재할 때 클래스 별로 관리하는데, 클래스의 로딩이 끝나는 즉시 클래스변수와 클래스메소드는 사용할 수 있게 된다 static 영역 stack 영역 heap 영역 클래스가 할당된다 지역변수가 할당된다 객체가 할당된다 가비지 컬렉터가 메모리를 관리하지 않음 매개변수가 할당된다 가비지 컬렉터가 메모리를 관리한다 프로그램 종료될 때까지 .. 2023. 11. 8.
Java_생성자, 메소드 예시(oop) 생성자 생성자는 메소드다 생성자는 클래스의 이름과 동일한 이름을 가진 메소드다 생성자 메소드는 반환타입이 없다 (void도 있으면 안된다) public class Sample { int no; String name; // 생성자 메소드 Sample() { } } 객체 생성할 때 실행되는 메소드. 즉, 객체의 초기화 작업을 진행한다 new 생성자 메소드( )의 형태로만 사용한다 참조변수.생성자메소드( )의 형태로 사용할 수 없다. 인스턴스 메소드와의 차이 인스턴스 메소드는 객체 생성 후 사용가능한 메소드다. 객체 생성 후, 객체의 참조값을 가지고 있는 참조변수를 이용해서 참조변수.인스턴스 메소드( )의 형태로 사용한다 기본 생성자 메소드 매개변수가 하나도 없는 생성자 메소드를 기본 생성자 메소드라고 한다... 2023. 11. 2.
Java_클래스와 메소드, 오버로딩(oop) 클래스 클래스는 객체를 생성하기 위한 설계도다. 하나의 클래스로 여러 개의 객체를 생성할 수 있다. 클래스의 구성요소는 필드, 생성자, 메소드다. 클래스의 구성요소 필드(Field) 객체의 고유 데이터, 현재 상태정보, 부품객체를 저장하는 곳이다. 객체의 고유한 속성을 나타낸다. 변수와 비슷한 형태로 정의한다. 필드는 초기화값을 지정하지 않는 경우 해당 데이터 타입의 기본값으로 초기화된다. 필드는 생성자와 메소드 전체에서 사용가능하다. 객체 소멸되지 않는 한 객체와 함께 유지된다. Ex) 필드의 예시 public class Car{ String name; String color; int maxSpeed; int currentSpeed; } 생성자(Constructor) new 연산자로 호출되는 특별한 메.. 2023. 11. 1.
Java_객체지향프로그래밍 (oop) 객체지향프로그래밍 부품에 해당하는 객체들을 만들고, 그 객체를 조립해서 소프트웨어를 만드는 개발방식이다. 부품에 해당하는 객체를 생성하기 위한 설계도가 필요하다. 완성품 객체를 모델링하고, 집합관계에 있는 부품객체와 사용관계에 있는 객체들을 하나씩 설계 후 조립하는 방식으로 프로그램을 개발한다. 객체지향프로그래밍 언어의 주요 장점 코드의 재사용성이 높다 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있다.(상속) 코드의 관리가 용이하다. 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.(조립, 디자인패턴) 신뢰성이 높은 프로그래밍을 가능하게 한다. 접근제어자와 메소드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 한다.(캡슐화) 코드의 중복을 제거하여 코드의 불.. 2023. 11. 1.