[Java] 생성자(Constructor)
·
TIL/Java
+ 22.01.18 생성자(Constructor) 클래스 안에 클래스의 이름과 똑같은 메소드를 생성 -> setOprands의 역할을 함 ex) Calculator 클래스 안에 Calculator 메소드를 생성 생성자는 어떠한 메소드보다 가장 먼저 진행되서 초기화 작업을 하게 된다. '생성자(Constructor)'는 크게 두 가지 역할이 있다. 인스턴스를 만들고, 인스턴스의 속성(인스턴스 변수)들을 초기화시켜준다. 생성자는 new 키워드와 함께 사용! 클래스에 아무런 생성자가 없을 경우에는 컴파일러가 자동으로 파라미터 없는 생성자를 제공해준다. 그러나 생성자를 하나라도 정의하면 이 생성자는 사용할 수 없다. 기본 생성자 생성자를 한 개도 정의 안 했을 경우에는 자바에서 자동으로 기본 생성자를 제공해준다..
[Java] 은행 시뮬레이션 프로그램_계좌 이체 메소드 작성하기
·
TIL/Java
실습과제 내용 계좌 이체 지금까지 만들어 온 은행 시뮬레이션 프로그램에 송금 기능을 담당하는 transfer 메소드를 써봅시다. 메소드 오버로딩의 개념을 이용해서 BankAccount 클래스에 두 개의 transfer 메소드를 쓰고, Person 클래스에도 두 개의 transfer 메소드를 쓰겠습니다. 송금 메소드 작성 (BankAccount.java) 송금은 계좌 - 계좌 방식으로 이루어집니다. 하지만 사용자의 편리함을 위해서 아래의 두 메소드를 만들겠습니다: public class BankAccount { // 저번 과제에서의 코드를 포함해주세요! // 첫 번째 파라미터: 받는 사람 (Person) // 두 번째 파라미터: 이체할 금액 (정수) // 리턴 : 성공여부 (불린) public boolea..
[Java] 접근 제어자
·
TIL/Java
접근제어자 변수나 메소드의 사용 권한은 다음과 같은 접근제어자를 사용하여 설정한다. (클래스 멤버에 대한 접근제어자) private : private가 붙은 변수, 메소드는 해당 클래스 안에서만 접근이 가능하다. 외부에서는 보여지지 않는 접근제어자 default : 접근 제어자를 별도로 설정하지 않는다면 접근 제어자가 없는 변수, 메소드는 default 접근 제어자가 되어 해당 패키지 내에서만 접근이 가능하다. protected : 접근제어자가 protected로 설정되었다면 protected가 붙은 변수, 메소드는 동일 패키지 내의 클래스 또는 해당 클래스를 상속받은 다른 패키지의 클래스에서만 접근이 가능하다. public : public 접근제어자가 붙은 변수, 메소드는 어떤 클래스에서라도 접근이 가..
[Java] 은행 시뮬레이션 프로그램_입금, 출금 메소드 작성하기
·
TIL/Java
메소드 연습 1. 입금 (1) 입금을 성공하면 true를 리턴, 실패하면 false를 리턴합니다. (2) 입금 성공 시, 현재 잔고(balance)에 파라미터로 받은 금액(amount)을 더합니다. (3) 입금 성공 시, 계좌주의 현금액(cashAmount)을 입금액만큼 줄입니다. (4) 입금할 금액이 음수이면 입금 실패입니다(0원은 입금 성공). (5) 계좌주의 현금이 입금액보다 작을 경우 입금 실패입니다. (6) 입금 실패 시 다음과 같은 내용 출력: 입금 실패입니다. 잔고: xx원, 현금: xx원 (7) 입금 성공 시 다음과 같은 내용 출력: xx원 입금하였습니다. 잔고: xx원, 현금: xx원 2. 출금 (1) 출금을 성공하면 true를 리턴, 실패하면 false를 리턴합니다. (2) 출금 성공 ..
[Java] 인스턴스
·
TIL/Java
인스턴스 클래스가 설계도라면, 인스턴스는 클래스(설계도)로 만들어진 객체이다. 예를 들어 Song이라는 클래스가 있으면, '눈의 꽃', '진달래 꽃', '소주 한 잔' 등은 Song 클래스를 따르는 인스턴스라고 부를 수도 있고, 그냥 Song 인스턴스라고 부를 수 있다. 객체 지향 프로그래밍에서부터 다뤘던 '은행 계좌 시뮬레이션' 프로그램에서는 Person이라는 클래스가 있다. '박효신'이라는 이름을 가진 Person 인스턴스, '임창정'이라는 이름을 가진 Person 인스턴스, '조정석'이라는 이름을 가진 Person 인스턴스 등이 있을 수 있다. 예제 실제로 인스턴스 생성하는 방법을 보자! 일단, Person.java 파일과 BankAccount.java 파일 밖에 없는데, 이 둘에는 main 메소드..
[Java] 메소드(Method)
·
TIL/Java
메소드(Method) 클래스에 있는 함수 자바에서 모든 함수는 클래스에 있기 때문에 사실 자바의 모든 함수는 메소드이다. 기본 문법 (Syntax) int sum(int x, int y) { return x + y; } sum이라는 메소드. 이 함수는 일단 파라미터로 정수형 x와 정수형 y를 받는다. 그리고 이 메소드는 꼭 정수형을 리턴시켜줘야 한다. 그렇지 않으면 오류가 나오게 된다. return x + y;는 정수형을 리턴시켜주기때문에 아무런 문제가 없다. 만약, 리턴값이 없으면 자료형 대신 void라고 써주면 된다. 예를 들어 main 함수도 리턴값이 없기 때문에 void를 썼다. public static void main(String[] args) { System.out.println("Hello..
[Java] 객체 지향 프로그래밍이란?
·
TIL/Java
객체 지향 프로그래밍(Object Oriented Programming) 정보와 동작들을 객체 단위로 묶고, 이런 객체들을 연결시키면서 정리하는 프로그래밍 방식 객체는 2가지로 구성되어있다. (객체는 속성들과 동작들의 묶음) 1) 속성 = 변수 2) 동작 = 메소드(함수) 개요 박모씨가 은행 계좌에 입금을 하고 출금을 하고, 또 고모씨의 계좌에 10.000원을 이체해주려고 한다. 이런 상황을 어떻게 프로그램으로 표현할 수 있을까? 일단 '사람'이라는 것을 표현할 방법이 필요하고, '계좌'라는 것을 표현할 방법이 필요하다. 이런 상황을 쉽게 정리할 수 있는 프로그래밍 방법이 바로 객체 지향 프로그래밍이다. 이 경우에는 '사람'을 표현하는 객체와 '은행 계좌'를 표현하는 객체를 만들 수 있다. 사람 객체에는..
[Java] 다중 배열(Multi Array)
·
TIL/Java
다중 배열 1 2 3 4 5 6 7 8 9 10 11 12 2차원 구조의 배열은 '다중 배열'을 선언하면 된다. int[][] multiArray; 위 표의 내용으로 초기값을 바로 설정하기 위해서는 아래와 같이 써야한다. int[][] multiArray = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; 'int[4] 배열 세 개가 묶인 배열'이라고 볼 수 있다. 즉, multiArray[0]의 자료형은 int[4]이고 내용은 {1, 2, 3, 4} 생성 위에서는 배열의 초기값을 바로 설정해주었다. 만약, 선언과 생성만 하기 위해서는 어떻게 해야 할까? 이제 3 x 4 사이즈의 빈 배열을 만들어보자. int[][] multiArray = new int[3][4];..
[Java] 배열(Array)_염기서열문제
·
TIL/Java
DNA 염기 서열 분석 템플릿에 주어진 염기 서열에서 TAGG, CCAG, AGCC가 총 몇 번 등장하는지 세어보자. String dna = "GATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAGCCA" + "CCACGCCCGGCTAATTTTTATTTATTTATTTAAAGACAGAGTCTCACTCT" + "GTCACTCAGGCTAGAGTGCAGTGGCACCATCTCAGCTCACTGCAGCCTTG" + "ACCTCCCTGGGCTCCGGTGATTTCACCCTCCCAAGTAGCTAGGACTACAG" + "GCACATGCCACGACACCCAGCTAATTTTTTATTTTCTGTGAAGTCAAGGT" + "CTTGCTACGTTGCCCATGCTGGTATCAAACCCCTGGGCTCAAT..