본문 바로가기
728x90
반응형

자바48

프로그래머스_문자열을 정수로 바꾸기_L1_JAVA 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 결과 class Solution { public int solution(String s) { int answer = 0; answer = Integer.parseInt(s); return answer; } } 포인트 ■ Integer.parseI.. 2024. 1. 10.
41) 인터페이스의 장점1 41) 인터페이스의 장점1 1. 장점 두 대상(객체) 간의 '연결, 대화, 소통'을 돕는 '중간 역할'을 한다. : interface=inter(~사이에)+face(얼굴, 대상) 복잡한 기계가 있다고 하자. 사람이 기계를 보고 조작하려면 쉽지 않다. 그래서 껍데기를 씌어서 사람이 이용하기 쉽도록 하는 것이 인터페이스다. 사람이 직접 기계를 조작하는 것보다 사람이 사용하기 편한 인터페이스를 기계에 붙여놓으면 사용하기 편리하다. 기계인 하드웨어가 아무리 바껴도 인터페이스가 바뀌지 않으면 우리는 사용하는데 불편함이 없다. 하지만 계속 하드웨어가 바뀌면 우리는 바뀔 때마다 하드웨어 사용법을 익혀야 하기 때문에 불편해진다. -선언(설계)과 구현을 분리시킬 수 있게 한다. :선언(껍데기)+구현(알맹이)을 분리시키게.. 2021. 6. 24.
40) 인터페이스와 다형성 40) 인터페이스와 다형성 1. 인터페이스를 이용한 다형성 -인터페이스도 구현 클래스의 부모? yes :엄밀히 말하면 부모는 아니다. 부모가 되려면 클래스이어야 하니까. 하지만 부모나 다름없다. 1 2 3 4 class Fighter extends Unit implements Fightable{ public void move(int x, int y){ /*내용 생략*/ } public void attack(Fightable f){ /*내용 생략*/ } } Colored by Color Scripter cs Fighter클래스는 Unit을 상속받고, Fightable을 구현한다. 도식화하자면(상속은 '○'표시로, 인터페이스는 '□'표시로) 원래 같으면 다중 상속은 충돌 문제가 발생한다. Fighter클래스.. 2021. 6. 23.
39) 인터페이스의 선언, 상속, 구현 39) 인터페이스의 선언, 상속, 구현 1. 인터페이스(interface) -추상 메서드의 집합 -구현된 것이 전혀 없는 설계도. 껍데기(모든 멤버가 public) 객체 1이 객체 2의 변수에 접근하기 위해선 객체 2의 메서드를 통해 접근해야한다. 왜? 객체 2의 변수를 보호하기 위해서이다. 그게 '캡슐화'라고 이전 시간에 이야기했다. (모르시는 분 여기 참고) https://feastforall.tistory.com/50 30) 접근제어자와 캡슐화(encapsulation) 30) 접근제어자와 캡슐화(encapsulation) 1. 접근제어자와 캡슐화 접근제어자를 사용하는 이유? -외부로부터 데이터를 보호하기 위해서 public은 접근 제한이 없다 보니 int의 범위 ±20억 사이에 아무 feastfo.. 2021. 6. 17.
38) 추상클래스의 작성2 38) 추상클래스의 작성2 1. 작성방법1: 공통부분을 Unit클래스로 Tv가 3개 있다. 각 티비는 켜기, 끄기, 채널 돌리기의 세 가지 공통점(■)이 있는데, 각각 하나씩 다른 기능(●▲♥)이 있다. 추상클래스1편에서 클래스마다 공통적인 요소를 매번 작성하면 불편하기 때문에 Unit클래스에 공통적인 요소를 넣으라고 했었다. 아래 주소 참고. https://feastforall.tistory.com/68 37) 추상클래스의 작성1 37) 추상클래스의 작성 1 1. 추상클래스의 작성 -여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나 기존클래스의 공통부분을 뽑아서 추상클래스를 만든다. 이 소스코드 feastforall.tistory.com 공통적인 부분을 하나의 클래스□로 작성하고 그.. 2021. 6. 16.
37) 추상클래스의 작성1 37) 추상클래스의 작성 1 1. 추상클래스의 작성 -여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나 기존클래스의 공통부분을 뽑아서 추상클래스를 만든다. 이 소스코드를 화면에 구현해본다고 하자. 군인 클래스에는 군인의 위치, 위치 변동 기능, 멈춤 기능, 스팀팩사용기능이 있다. 탱크와 수송선도 각각의 기능이 있다. 하지만 위치, 멈춤기능, 위치 변동 기능은 모두 다 사용하고 있는 것이기 때문에 일일이 클래스마다 작성하는 것은 시간낭비+코드만 길어지는 격이 된다. 그래서 공통적인 부분을 'Unit'클래스를 만들어 한 곳에 묶어주자. 공통으로 묶어주는 클래스를 'Unit'이라 칭하고, 공통된 부분 '위치'와 '이동 기능', '멈춤 기능'을 넣는다. 위치 이동은 군인, 탱크, 수송선 모두.. 2021. 6. 15.
36) 추상클래스(abstract class), 추상메서드(abstract method) 36) 추상 클래스(abstract class) 1. 추상클래스(abstract class) -미완성 설계도(미완성 클래스) -미완성 메서드를 가지고 있는 클래스 1 2 3 4 abstract class Player{ abstract void play(int pos); abstract void stop(); } c -다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가 1 Player p = new Player();//에러! 추상클래스의 인스턴스 생성불가 cs -상속을 통해 추상메서드를 완성해야 인스턴스 생성가능 1 2 3 4 5 6 7 8 9 abstract class Player{ abstract void play(int pos); abstract void stop(); } class Aud.. 2021. 6. 10.
35) 매개변수의 다형성(2)-하나의 배열로 여러 종류 객체 다루기 35) 매개변수의 다형성(2)-하나의 배열로 여러 종류 객체 다루기 이전 시간에 이어 매개변수 다형성의 장점 2인 하나의 배열로 여러 종류 객체 다루기를 보겠습니다. 1. 여러종류의 객체를 배열로 다루기 -조상 타입의 배열에 자손들의 객체를 담을 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Buyer{ int money = 10000; int bonusPoint = 0; Product[] cart = new Product[10]; int i = 0; void buy(Product p) { if(money 2021. 6. 10.
34) 매개변수의 다형성(1)-다형적 매개변수 34) 매개변수의 다형성(1)-다형적 매개변수 장점: ①다형적 매개변수 ②하나의 배열로 여러 종류 객체 다루기 지금까지 배운 다형성: ①Tv t = new SmartTv(); ②참조 변수의 형 변환-리모콘 바꾸기 ③instanceof연산자를 이요한 형변환 가능 여부 판단 1. 매개변수 다형성 -참조형 매개변수는 메서드 호출 시, 자신과 같은 타입 또는 자손 타입의 인스턴스를 넘겨줄 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 class Product{ int price; int bonusPoint; } class Tv extends Product{ } class Aud.. 2021. 6. 10.
728x90
반응형