본문 바로가기

언어/JAVA

(32)
[JAVA] 클래스의 멤버변수에 static static이 붙는 경우 멤버 변수가 객체와 무관할 때 static을 붙인다. 생성자의 의한 초기화가 안되기 때문에 클래스 내에서 초기화한다. 클래스 소속의 공유자원이 된다. PI과 같이 항상 같은 변수 값을 가질 때 붙인다. 예제 코드 class Circle2 { static double PI = 3.14; }
[JAVA] 오버로딩 오버로딩이란 같은 이름의 메서드를 매개변수를 다르게 하는 것으로 정의를 확장하는 것이다. 특징 함수명이 동일하고 메서드 시그니쳐가 다르다. 상속과 상관이 없다. 함수명 중복정의를 허용한다. 예제 코드 // 종류 String type; // 반지름 int radius; // 매개변수가 숫자 하나인 생성자 Circle(int radius) { this("원",radius); } // 매개변수가 문자열하나인 생성자 Circle(String type) { this(type,1); } // 매개변수를 숫자, 문자열 둘 다 가지는 생성자 Circle(String type, int radius) { this.type = type; this.radius = radius; }
[JAVA] 생성자 생성자란 생성자는 객체가 생성될때 자동으로 호출되는 특수 목적의 멤버함수이다. 생성자 선언 예제 class Student { // 생성자 Student() { } } 생성자 특징 처음 클래스를 정의하면 JAVA가 인자 없는 기본생성자를 제공해준다. 개발자가 생성자를 1개 이상 정의하면 기본 제공을 안한다. 클래스와 이름이 같으며 리턴값을 명시하지 않는다. 멤버변수를 초기화하는 역할을 한다. 정의된 생성자 예제 class Student { Student(int a, int b) { } } 정의된 생성자를 가진 클래스 호출 예제 Student student = new Student(a,b); 생성자의 강제 초기화 값 지정 예제 특정 초기화 값을 넣고 싶을 때는 인자로 넘겨야한다. class Student {..
[JAVA] 힙(heap) 메모리 힙 메모리란 프로그램에서 동적으로 할당 된 메모리이다. 개발자의 메모리 영역이다. 특징 new 연산자로 객체를 호출시 힙 영역에 메모리가 할당된다. 장점 동적으로 메모리 할당, 해제가 주도적으로 가능하기에 메모리 누수 방지가 가능하다.
[JAVA] 클래스(객체) 클래스란 JAVA의 기본 단위이며 자료형의 일종이다. 특징 JAVA에서 이미 수많은 클래스들을 미리 만들어 놓았지만, 개발자가 새로 정의할 수 있다. ex) Random, Scanner... 클래스명 작성 시 첫 글자는 대문자이다. new 연산자를 써야한다. 힙(heap) 메모리를 사용한다. 객체지향언어 누가 함수를 호출했느냐에 따라 결과가 달라진다. 함수에게 주체가 생기는 언어이다. 일반적인 함수는 주체가 없고 메서드(멤버함수)는 주체가 있다. 같은 메서드인데 다른 결과가 나오는 것을 다형성이라한다. "누가 함수를 호출했느냐에 따라 결과가 달라진다" 같은 Dog라는 클래스이지만 다른 객체 변수(dog1, dog2)에 다른 값을 넣기 때문에 결과가 달라진다. // 강아지 객체1 호출 Dog dog1 = ..
[JAVA] 모듈화 모듈이란 단독 수행할 수 있는 코드의 묶음이다. 독자적인 기능이 존재하는 코드이다. 모듈화의 지칭어 컴포넌트화 캡슐화 리팩토링 패키징 함수화 메서드화 특징 조합 경우의 수가 많을 수록 좋다. 더 세부적인 표현이 가능하다. 결합도(응집도)를 높일 수 있다. 결합도가 낮을 경우, 코드 한줄이라도 문제가 있을 경우 동작이 불가능하다. 결합도가 높을 경우, 함수 1개를 수정 중이더라도 전체 프로그램을 사용은 가능하다.
[JAVA] 함수 함수의 3요소 함수 : output 함수명(input) = 메서드 시그니쳐 함수명은 해당 함수의 기능을 유추할 수 있는 이름으로 작성한다. JAVA는 함수명 중복 선언 가능하다. input과 output은 달라야 하고 기능은 같아야한다. JAVA에서input과 output을 보고 판단하여 호출 입력 값 = input = 매개변수 = args = 인자 = 인수 = 파라미터 JAVA의 모든 타입이 전부 인자로 사용 가능하다. 인자 개수도 여러개 가능하다. 출력 값 = output = return = 반환 값 = 결과 값 = 출력 값 한개만 반환 가능하다. 기능 함수의 4유형 input X output X public static void funcA(){} input O output X public stati..
[JAVA] scanner 특징 java.util 패키지 내에 존재하는 클래스이다. 콘솔의 표준 입력의 클래스이다. 정수(int), 실수(double)등의 기본적인 데이터 타입 입력을 받기 위한 클래스이다. 많은 양과 다수의 회수의 입력을 받아야 할 때에는 추천하지 않는 클래스이다. System.in이라는 이미 정의 되어있는 객체를 전달해야 합니다. Scanner scanner = new Scanner(System.in); 숫자 데이터 유형의 값을 읽기 위한 함수가 있다. nextInt() nextDouble() 문자 데이터 유형의 값을 읽기 위한 함수가 있다. nextLine() charAt() 예제 코드 int i = scanner.nextInt();