본문 바로가기

Java7

[JAVA] 객체지향 언어의 특징 & 캡슐화 & 상속 객체지향 언어의 특징 객체지향 언어의 특징 - A PIE 그 중 캡슐화와 상속에 대해 좀 더 자세히 알아보자. Encapsulation(데이터 은닉과 보호) 누군가가 내 정보를 마음대로 바꿀 수 있다면 => 개인정보의 탈취 위험도 있고, 시스템에 심각한 오류를 줄 가능성도 있다! 따라서 정보를 보호하기 위해서는 변수는 private로 접근제한자를 설정하여 외부에서의 접근을 막고 공개되는 메서드를 통한 접근 통로를 마련하는 것이 좋다 (setter / getter) 객체의 생성 제어와 Singleton 디자인 패턴 변수를 private로 설정하여 외부의 접근을 막듯이, 객체의 생성을 제한해야 한다면 어떻게 해야 할까? 객체의 생성을 제한해야 하는 이유 여러 개의 객체가 필요 없는 경우 객체를 구별할 필요가.. 2024. 2. 12.
[JAVA] 생성자, this, super 생성자 객체를 생성할 때 호출하는 것 (like 메서드) new 키워드와 함께 호출하는 것 일반 멤버 변수의 초기화나 객체 생성 시 실행되어야 하는 작업 정리 Person p1 = new Person(); 작성 규칙 메서드와 비슷하나 리턴 타입이 없고 이름은 클래스 이름과 동일 기본생성자(default constructor) 기본 생성자의 형태는 파라미터가 없고 구현부가 비어있는 형태 생성자 코드가 없으면 컴파일러가 기본 생성자 제공 public class Movie { public int id; public String title; public String director; public String genre; public int runningTime; //public Movie() { // //} -.. 2024. 1. 24.
[JAVA] 메서드(Method) 메서드(Method) Variable arguments 메서드 선언 시 동일 타입의 인자가 몇 개 들어올지 예상할 수 없을 경우(또는 가변적) 배열 타입을 선언할 수 있으나 → 메서드 호출 전 배열을 생성, 초기화 해야 하는 번거로움 …을 이용하여 파라미터를 선언하면 호출 시 넘겨준 값의 개수에 따라 자동으로 배열 생성 및 초기화 public void addAll(int ... params) { int sum = 0; for(int i : params) { sum += i; } System.out.println(sum); } 메서드 호출 메서드를 호출할 때는 메서드의 선언부에 맞춰 호출해야 함 메서드 이름 : 반드시 동일 파라미터 : 선언된 파라미터의 개수는 반드시 동일, 타입은 promotion 적용 .. 2024. 1. 23.
[JAVA] 변수(Variable)와 자바 주석문 변수(Variable) 타입에 따른 분류 선언 위치에 따른 분류 멤버변수 인스턴스 멤버 변수 클래스 멤버 변수 지역변수 지역 변수 파라미터 변수 인스턴스 멤버 변수의 특징 선언 위치 : 클래스 { } 영역에 선언 public class Person { String name; int age; } 변수의 생성 : 객체가 만들어질 때 heap에 객체 별로 생성됨 변수의 초기화 : 타입 별로 default 초기화 변수 접근 : 객체 생성 후(메모리에 올린 후) 객체 이름(소속)으로 접근 객체를 만들 때마다 객체 별로 생성 → 객체마다 고유한 상태(변수 값) 유지 Person p1 = new Person(); p1.name = "홍길동"; Person p2 = new Person(); p2.name = "임꺽정".. 2024. 1. 21.